richedit 输入法输入表情出现黑色背景的解决办法
来源:互联网 发布:java 多用户 博客 编辑:程序博客网 时间:2024/05/17 01:26
造成此问题的原因是另存为的时候,GDI+的Gdiplus::Bitmap::FromHBITMAP 或者 Gdiplus::Bitmap::FromBITMAPINFO函数没有附件alpha值,导致转存成png图片的时候出了问题,核心代码如下:
//从richedit过来的数据需要这么处理下
LPDWORD lpBase = (LPDWORD)(pBMInfo->bmiColors + pBMInfo->bmiHeader.biClrUsed);int nOffset = lpBI->biCompression == BI_BITFIELDS ? 3 : 0;pDIBBits = (LPVOID*)(lpBase + nOffset);
pWrapBitmap = Gdiplus::Bitmap::FromBITMAPINFO(pBMInfo, pDIBBits);if (pWrapBitmap){Gdiplus::BitmapData bitmapData;Gdiplus::Rect rcImage(0, 0, pWrapBitmap->GetWidth(), pWrapBitmap->GetHeight());pWrapBitmap->LockBits(&rcImage, Gdiplus::ImageLockModeRead, pWrapBitmap->GetPixelFormat(), &bitmapData);m_pImage = new (Gdiplus::Bitmap)(bitmapData.Width, bitmapData.Height, bitmapData.Stride, PixelFormat32bppARGB, (BYTE*)bitmapData.Scan0);pWrapBitmap->UnlockBits(&bitmapData);}
其中:
pBMInfo为LPBITMAPINFO类型,pDIBBits为数据
阅读全文
0 0
- richedit 输入法输入表情出现黑色背景的解决办法
- 拖动ListView时背景出现黑色的解决办法!
- ios上拉下划出现黑色背景的解决办法
- Ubuntu 中输入法出现两个输入框的解决办法
- Unity 编辑输入框时出现输入法中的输入框内文字为白色的解决办法
- 将Bitmap用Base64转码成字符串,再解码回来出现黑色背景的问题原因及解决办法。
- Android ListView 滑动背景为黑色的解决办法
- Android ListView 滑动背景为黑色的解决办法
- Android ListView 滑动背景为黑色的解决办法
- 【转】Android ListView 滑动背景为黑色的解决办法
- ubuntu eclipse代码提示黑色背景的解决办法
- Android ListView(GridView) 滑动 拖动 背景为黑色的解决办法
- Android ListView 滑动背景为黑色的解决办法
- [Android] ListView 滑动背景为黑色的解决办法
- Android ListView滑动背景变黑色的解决办法
- Android ListView 滑动背景为黑色的解决办法
- 去除ListView默认出现黑色背景的方法
- activity添加切换动画之后出现的黑色背景问题
- ubuntu network ip setting
- 获取多台主机命令执行结果
- <c:forEach>终止循环
- Web安全——前端JS表单验证过滤
- Qt--QSettings
- richedit 输入法输入表情出现黑色背景的解决办法
- JMS(二)--ActiveMQ简单的HelloWorld实例
- chapter2 线性组合,张成的空间,与基
- 关于微信公众号开发调用jssdk接口以及腾讯地图API
- Xmodmap用法
- C++逐行读取文本文件的正确做法
- myeclipse ant运行后javac报找不到的包的错误
- arcgis求助
- 笔记 npm是什么?