IImagingFactory IImage
来源:互联网 发布:可以用手机开淘宝店吗 编辑:程序博客网 时间:2024/04/29 23:13
void DrawImage(HDC hdc)
{
IImagingFactory *pImgFactory = NULL;
IImage *pImage = NULL;
RECT rc = { 0, 0, 110, 88};
// Normally you would only call CoInitialize/CoUninitialize
// once per thread. This sample calls CoInitialize in this
// draw function simply to illustrate that you must call
// CoInitialize before calling CoCreateInstance.
CoInitializeEx(NULL, COINIT_MULTITHREADED);
// Create the imaging factory.
if (SUCCEEDED(CoCreateInstance (CLSID_ImagingFactory,
NULL,
CLSCTX_INPROC_SERVER,
IID_IImagingFactory,
(void **)&pImgFactory)))
{
// Load the image from the JPG file.
if (SUCCEEDED(pImgFactory->CreateImageFromFile(
TEXT("//Program Files//Imaging//flower.jpg"),
&pImage)))
{
// Draw the image.
pImage->Draw(hdc, &rc, NULL);
pImage->Release();
}
pImgFactory->Release();
}
CoUninitialize();
}
IImage::Draw可以绘制透明的PNG图,其原型为: HRESULT Draw( HDC hdc, const RECT* dstRect, OPTIONAL const RECT* srcRect ); HRESULT GetImageInfo( ImageInfo* imageInfo );
dstRect为显示的区域,如果大小和图片的大小不一样的话,图片会有缩放的效果;
srcRect为源图片的显示区域,比如图片大小320*100,我只需要显示其中一部分时可以指定该参数,否则设为NULL。
注:该参数是以0.01mm为单位的,需要把像素进行转换,可以通过GetImageInfo获取图片dpi参数后进行转换
((2.54*1000)/MyImageinfo.Xdpi)*像素。
原图为透明png格式:
调用Draw后效果:
- IImagingFactory IImage
- IImage和链接错误
- IImage和链接错误
- IImage的图片显示
- IImage和链接错误
- IImage的图片显示
- Pocket中使用IImage
- IImage绘制特定区域
- IImage的一些用法
- iImage的用法
- IImage链接错误(转)
- COM组件IImagingFactory引申(一)
- IImagingFactory ,各种格式的图片解码
- 详聊IImage的图片显示
- IImage和链接错误(转)
- 详聊IImage的图片显示
- 使用IIMAGE接口播放动画
- IImage COM组件图片显示
- [SharePoint] 增加PDF图片到SharePoint的Docicon.xml
- Strlen(a) 的值 是多少
- htpasswd命令及crypt函数(转载)
- R12现金管理系统:银行对账单(Bank Statement)的标准处理流程
- NOD32与Microsoft Visual Studio 2005的C#冲突解决
- IImagingFactory IImage
- Windows 7操作系统启动过程详解
- 运筹帷幄,游刃商海
- 软件新动向
- css二级侧拉菜单,右侧拉开菜单,右侧展开菜单
- Java中JAVA_HOME与CLASSPATH的解析
- ITAT第五届C语言初赛试题(附参考答案)
- 如何在Mobile上查看当前已安装的.net版本号?
- IO多路复用