总算知道怎样从ImageMagick生成的数据转换成HICON: MagickGetImageBlob & LookupIconIdFromDirectoryEx

MagickSetImageFormat(mw, "ICO"); //设置这个后, MagickGetImageBlob 才能返回正确的值
  
size_t length;
PBYTE pIcoData = MagickGetImageBlob(mw, &length);
 //printf("length:%ld\n", length);
  
 //HICON hIcon = NULL;
 int offset = LookupIconIdFromDirectoryEx(pIcoData, TRUE, width_thumbnail, height_thumbnail, LR_DEFAULTCOLOR);
 //printf("offset:%d\n", offset);
  
if(offset != 0)
 {
    *hIcon = CreateIconFromResourceEx(pIcoData + offset, 0, TRUE, 0x30000, width_thumbnail, height_thumbnail, LR_DEFAULTCOLOR);              
}
  
MagickRelinquishMemory(pIcoData); //注意Blob使用完后,释放内存

 

posted @ 2015-06-18 06:55  personnel  阅读(409)  评论(0编辑  收藏  举报
友情链接:图片批量处理工具 gif动态图制作工具 制作电子相册 图片排版工具 制作淘宝主图视频 MKScript 鼠标键盘自动化脚本语言