image函数在哪个头文件

image函数在哪个头文件,第1张

CImage类是ATL和MFC共用的一个类,其头文件为atlimage.h,主要用于图片文件的打开,显示与保存。这里需要注意的是,在VS2010和VS2012的MFC编程中,不需要将头文件包含进来。MFC中要使用CImage类,必须先将头文件包含进来,可以包含在当前代码的CPP文件中,也可以包含在所属类的头文件中,不过最好还是包含在工程的stdafx.h文件中。CImage总共有39个成员函数

可以使用MFC的类,前提是你要在工程-设置-常规-使用MFC类作为共享的DLL,然后写代码时加入相应的头文件就行了,至于你说的在原有行改变一个值,这个是不行的(不能像你说的那样实现),不过是可以用其他方法实现的。你可以使用控制台的清屏函数,不过不知道是那个函数,呵呵!!!

使用jpg或者png图片,则需要用到symbian提供的那个Multimedia ICL库里的类了。其中比较重的是CImageDecoder类,提供了对图像进行解码的功能。

来看看如何使用它的吧。先定义两个字串:

_LIT(KJPEGFile,"C:\\Data\\me.jpg")

_LIT(KJPEGType,"image/jpeg")

使用的代码比较简单,如下所示:

iDec = CImageDecoder::FileNewL(iRFs,KJPEGFile)

iParent->iBkImageMask=new (ELeave) CFbsBitmap()

iParent->iBkImageMask->Create( iDec->FrameInfo().iOverallSizeInPixels,iDec->FrameInfo().iFrameDisplayMode )

iDec->Convert( &iStatus, *(iParent->iBkImageMask) )

其中的iDec是CImageDecoder的实例,而iRFs是RFs的实例。而iParent->iBkImageMask则是一个CFbsBitmap对象实例。

也就是说,我们先利用CImageDecorder::FileNewL来打开一个图像文件(它会自已判断图像类型,我们也可以提供给它我们指定的图像类型)。然后这个图像的信息就保存在iDec->FrameInfo()中了,利用这个信息可以创建一个CFbsBitmap实例(因为symbian中所有显示的图像都是这种类型)。最后,调用CImageDecorder的异步函数Convert就可以将图像(jpeg 或者png格式的)转换成CFbsBitmap位图了。唯一的麻烦是Convert是一个异步函数,第一个参数是TRequestStatus类型(可以是一个活动对象的iStatus成员)。

除了CImageDecorder::FileNewL以外还有一个CImageDecorder:DataNewL也可以用来从一个缓冲区的字节内容构造出图像数据,只是它第二个参数是TDesC8&类型的aSourceData。

[补充]

别忘了包括头文件 ImageConversion.h,还有引入库imageconversion.lib。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6077690.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存