bmp转ico
来源:互联网 发布:秒杀群找淘宝商家合作 编辑:程序博客网 时间:2024/05/16 01:36
ico文件比较特殊,一般都不能转,这里从网友那儿看到了一段把bmp转ico的代码,没有试过,先留着以后用的上的时候,拿出来试试。多谢网友的分享。
CFileDialog DlgFileOpen( TRUE, "*.ICO ",NULL,NULL, "bmp文件(*.BMP)|*.BMP|| "); if(DlgFileOpen.DoModal()==IDCANCEL) return; HBITMAP hBmpClr= (HBITMAP) ::LoadImage(AfxGetResourceHandle(), DlgFileOpen.GetFileName(), IMAGE_BITMAP, 0,0, LR_DEFAULTCOLOR|LR_DEFAULTSIZE|LR_LOADFROMFILE ); CDC dcMemSrc,dcMemDst; dcMemSrc.CreateCompatibleDC (NULL); dcMemDst.CreateCompatibleDC(NULL); BITMAP bmp; ::GetObject (hBmpClr, sizeof (BITMAP), (LPVOID) &bmp); CBitmap bmpClr; dcMemSrc.SelectObject(hBmpClr); bmpClr.CreateCompatibleBitmap(&dcMemSrc,32,32 ); HBITMAP hOldBmp=(HBITMAP)dcMemDst.SelectObject(bmpClr); COLORREF clrMask=dcMemSrc.GetPixel(CPoint(0,0)); dcMemDst.FillSolidRect(0,0,32,32 ,clrMask); dcMemDst.StretchBlt(0,0,32,32 ,&dcMemSrc,0,0,bmp.bmWidth,bmp.bmHeight,SRCINVERT); hBmpClr=(HBITMAP)dcMemDst.SelectObject(hOldBmp); HBITMAP hMaskBmp; CBitmap bmpMask; bmpMask.CreateCompatibleBitmap(&dcMemSrc,32,32 ); hOldBmp = (HBITMAP) dcMemSrc.SelectObject (bmpMask); dcMemSrc.FillSolidRect(CRect (0, 0, 32, 32 ),RGB(255,255,255)); hMaskBmp=(HBITMAP)dcMemSrc.SelectObject(hOldBmp); ICONINFO IconInfo; IconInfo.fIcon=TRUE; IconInfo.hbmColor=hBmpClr; IconInfo.hbmMask=hMaskBmp; IconInfo.xHotspot=0; IconInfo.yHotspot=0; HICON hIcon=CreateIconIndirect(&IconInfo); ::DeleteObject(hBmpClr); ::DeleteObject(hMaskBmp);
- bmp转ico
- bmp转ico
- 载入位图 (bmp, ico)
- 利用bmp位图制作ICO
- 利用bmp位图制作ICO
- ico bmp 编码研究心得
- 使用IPicture接口读取和显示BMP,GIF,JPG,ICO,EMF,WMF图像 (转)
- delphi 把一个ICO转换为BMP
- 实现在一个按纽上加bmp或ico图标
- 使用CStatic显示图片(bmp、ico、png)
- 在线PNG转ICO
- PNG转ICO工具
- jpg转ico网站
- ico文件在线转
- png转ico
- ICO
- ico
- png转ico 或如何制作ico文件
- css+div宽度自适应实例代码
- 利用Thunk让C++成员函数变回调函数
- 存储过程分页~
- Unity3d http 通信
- 第一次更新网站
- bmp转ico
- mysql查询今天、昨天、7天、近30天、本月、上一月 数据
- <<探讨linux/unix>>之命令ps
- 应用已有的开源搜索引擎-Nutch应用
- 使用jquery jcrop插件进行图片的截取与保存
- eclipse debug java程序,为什么不按照行顺序执行?
- hdu 1075 map函数的应用
- OSGi中获取Service的几种方式
- Android,已知应用名称, 通过应用名称来启动应用