Qt与symbian特定格式类对象的转换
2010-06-22 03:05:00 来源:WEB开发网1:FbsBitmap转为QImage
应用场景:当使用摄像头时:拍摄的图像都是FBsBitmap,而如果要想让其显示在QWidget上,则需要首先将其转换成QImage格式。
参数说明:aBitmap是传入参数,aImage是传出参数,当动态拍摄(相当于摄像)时:aStep为4; 当capture拍摄静态图片时:aStep为3.
view plaincopy to clipboardprint?
void FbsBitmapToQImage(CFbsBitmap* aBitmap,QImage* aImage,TInt aStep)
{
int aHeight=aBitmap->SizeInPixels().iHeight;
int aWidth=aBitmap->SizeInPixels().iWidth;
aBitmap->BeginDataAccess();
unsigned char* ptrBitmapPixel=(unsigned char*)(aBitmap->DataAddress()); //0xBBGGRRff
unsigned char* ptrImagePixel=aImage->scanLine(0); //0xBBGGRRff;
for(int i=0;i
{
for(int j=0;j
{
*(ptrImagePixel+2)=
char((int)(*(ptrBitmapPixel+2))/tmp); //Red
*(ptrImagePixel+1)=
char((int)(*(ptrBitmapPixel+1))/tmp); //Green
*(ptrImagePixel+0)=
char((int)(*(ptrBitmapPixel+0))/tmp); //Blue
ptrBitmapPixel+=aStep;
ptrImagePixel+=4;
}
}
aBitmap->EndDataAccess();
}
void FbsBitmapToQImage(CFbsBitmap* aBitmap,QImage* aImage,TInt aStep)
{
int aHeight=aBitmap->SizeInPixels().iHeight;
int aWidth=aBitmap->SizeInPixels().iWidth;
aBitmap->BeginDataAccess();
unsigned char* ptrBitmapPixel=(unsigned char*)(aBitmap->DataAddress()); //0xBBGGRRff
unsigned char* ptrImagePixel=aImage->scanLine(0); //0xBBGGRRff;
for(int i=0;i
{
for(int j=0;j
{
*(ptrImagePixel+2)=
char((int)(*(ptrBitmapPixel+2))/tmp); //Red
- ››QT中获取选中的radioButton的两种方法
- ››Qt HMAC hash 算法
- ››Qt中调用windows系统api在QComboBox中显示系统当前...
- ››Qt之实现360安全卫士主界面(三)
- ››Symbian S60 SocketConnection参数
- ››Symbian乏力:2010年诺基亚悲情大事记
- ››Symbian三大升级开启2011年新战略
- ››Symbian/Android/iOS/WM安装包对比
- ››Symbian一个活动对象的测试例子
- ››Symbian ListBox控件
- ››Symbian下自动切换SDK的批处理代码
- ››Symbian 3 版的 Swype 输入法正式上架
更多精彩
赞助商链接