UIQ生成缩略图

近来正要将程序从S60移植到UIQ,发现UIQ跟S60的差别还是比较大的,虽然都是Symbian的系统。

例如在S60能用的PathInfo,CImageDecoder和CBitmapScaler,到了UIQ2.1就用不了,只能找找有没有功能类似的类,或许它们只是名字不一样了罢,在S60上能提供的API在UIQ应该也会有提供的。

于是 搜索一下UIQ2.1的sdk,发现可以用CMdaImageBitmapToFileUtility这个类来进行图像转换的,图像放缩的话可以用CMdaBitmapScaler,多媒体文件夹的路径问题可以尝试用CQikMediaFileFolderUtils ,估计可以解决我的问题。

下面收藏一篇介绍在UIQ中使用CMdaImageFileToBitmapUtility API进行图像变换的文章,来源:www.sf.org.cn

url:http://www.sf.org.cn/Article/symbiandev/200605/18323.html

这篇文章的目的是解释如何以及什么时候使用CMdaImageFileToBitmapUtility API。本文所附的例子程序增强和演示CMdaImageFileToBitmapUtility API。例子程序允许用户从他们的电话中选择一个图像进行变换和现实。例子程序已经在下列的电话中成功运行:

l         Motorola A1000

l         Motorola M1000

示例应用中的类

示例程序中的主要类如下所示:

 

图1  示例应用中可用的类

 

总述

CMdaImageFileToBitmapUtility API的允许开发者打开图像文件,然后转化为位图。CMdaImageFileToBitmapUtility类本身使用另外一个图像变换接口,CMdaImageUtility,为了完成实际的转换。然而,开发者没有必要了解这个API。更多的细节参考Symbian API文档。

简介

这篇文章描述的源代码在示例应用中的ImgConverter中可用。本文集中讲解实例化和使用CMdaImageFileToBitmapUtility API。

实例化和使用

CMdaImageFileToBitmapUtility API的NewL函数声明如下所示:

static CMdaImageFileToBitmapUtility* NewL(MMdaImageUtilObserver&

aObserver,CMdaServer* aServer = NULL);

本文所附的ImgConverter示例程序使用从MMdaImageUtilObserver接口衍生的CImgConversionEngine类的作为第一个参数。CImgConversionEngine类可以被使用,因为它衍生自MMdaImageUtilObserver类,并且实现了该类的三个虚函数。示例程序忽略了第二个可选的CMdaServer类型参数。第二个参数可能会被用到,如果CMdaImageFileToBitmapUtility实例被多个调用者创建,并且需要明了哪一个调用者的回调方法需要接受事件。

那么,当如下创建CMdaImageFileToBitmapUtility实例时,CMdaImageFileToBitmapUtility通过三个回调函数通知调用者成功或者不成功的操作。

iUtility = CMdaImageFileToBitmapUtility::NewL( *this );

为了使CMdaImageFileToBitmapUtility对象能够被通知,MMdaImageUtilObserver的三个虚函数需要被调用者实现。

virtual void MiuoConvertComplete(TInt aError) = 0;

virtual void MiuoCreateComplete(TInt aError) = 0;

virtual void MiuoOpenComplete(TInt aError) = 0;

一旦创建了CMdaImageFileToBitmapUtility类,它的OpenL函数可以被调用打开指定的图像文件。这个动作的结果在上面提及的MiuoOpenComplete回调中被返回。调用CMdaImageFileToBitmapUtility成员对象(示例代码中是iUtility)的CMdaImageUtility继承函数,ConvertL和Close将会变换和关闭选择的图像。ConvertL函数的结果被返回到调用者通过MiuoConvertComplete回调。

总结

这篇文章解释了创建和使用CMdaImageFileToBitmapUtility API图像文件到位图的变换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值