社区
界面
帖子详情
求一将HICON句柄的资源保存为 ico文件的源码
zlhcc
2003-09-06 11:55:12
保存为 bmp 也行,但我保存为bmp的时候,背景总是黑色的,vckbase上徐景周的一个程序也是,保存为bmp图片后,北京也是黑色的。我要的是,颜色一点都不变。
...全文
78
6
打赏
收藏
求一将HICON句柄的资源保存为 ico文件的源码
保存为 bmp 也行,但我保存为bmp的时候,背景总是黑色的,vckbase上徐景周的一个程序也是,保存为bmp图片后,北京也是黑色的。我要的是,颜色一点都不变。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zlhcc
2003-09-09
打赏
举报
回复
多谢masterz
masterz
2003-09-08
打赏
举报
回复
void SaveIcon(HICON hIconToSave, LPCTSTR sIconFileName)
{
if(hIconToSave==NULL || sIconFileName==NULL)
return;
//warning: this code snippet is not bullet proof.
//do error check by yourself [masterz]
PICTDESC picdesc;
picdesc.cbSizeofstruct = sizeof(PICTDESC);
picdesc.picType = PICTYPE_ICON ;
picdesc.icon.hicon = hIconToSave;
IPicture* pPicture=NULL;
OleCreatePictureIndirect(&picdesc, IID_IPicture, TRUE,(VOID**)&pPicture);
LPSTREAM pStream;
CreateStreamOnHGlobal(NULL,TRUE,&pStream);
LONG size;
HRESULT hr=pPicture->SaveAsFile(pStream,TRUE,&size);
char pathbuf[1024];
strcpy(pathbuf,sIconFileName);
CFile iconfile;
iconfile.Open(pathbuf, CFile::modeCreate|CFile::modeWrite);
LARGE_INTEGER li;
li.HighPart =0;
li.LowPart =0;
ULARGE_INTEGER ulnewpos;
pStream->Seek( li,STREAM_SEEK_SET,&ulnewpos);
ULONG uReadCount = 1;
while(uReadCount>0)
{
pStream->Read(pathbuf,sizeof(pathbuf),&uReadCount);
if(uReadCount>0)
iconfile.Write(pathbuf,uReadCount);
}
pStream->Release();
iconfile.Close();
}
masterz
2003-09-08
打赏
举报
回复
用IPicture.Save
下面是保存bmp,同样的方法可以保存icon
void savebmp(CBitmap& bmp)
{
CPictureHolder picture;
picture.CreateFromBitmap((HBITMAP)bmp, NULL, TRUE);
LPPICTUREDISP pPictureDisp=picture.GetPictureDispatch();
pPictureDisp->Release(); // must be released
IStorage* pStg = 0;
hr = ::StgCreateDocfile(L"c:\\picttest",
STGM_SHARE_EXCLUSIVE |
STGM_CREATE |
STGM_READWRITE,
0, &pStg);
if(SUCCEEDED(hr))
{
IStream* pStream = 0;
hr = pStg->CreateStream(L"PICTURE",
STGM_SHARE_EXCLUSIVE |
STGM_CREATE |
STGM_READWRITE,
0, 0, &pStream);
if(SUCCEEDED(hr))
{
hr = pPictureDisp->SaveAsFile(pStream,
TRUE, // save mem copy
NULL);
pStream->Release();
}
pStg->Release();
}
pPictureDisp->Release();
}
SeekTruth
2003-09-08
打赏
举报
回复
CSDN上好像有ICO文件格式说明吧,自己取图像数据以后按格式保存试试.
zlhcc
2003-09-06
打赏
举报
回复
最好能存为icon.
下面的代码我可以很容易动态的的显示一个ico文件
HICON m_hIcon = (HICON)LoadImage( NULL, "c:\\11.ico",
IMAGE_ICON, 0, 0, LR_LOADFROMFILE );
HDC hdc = ::GetDC(m_hWnd);
::DrawIconEx(hdc, 50, 50, m_hIcon, 16, 16,
0, 0, DI_NORMAL );
::ReleaseDC(m_hWnd, hdc);
zlhcc
2003-09-06
打赏
举报
回复
哎,没有人会吗,我上codeguru上也去了,也是找不到答案
易语言取图标返回png字节集
源码
本文将深入探讨易语言中如何通过GDIPlus类模块来获取
文件
图标,并将其转换为PNG字节集的
源码
实现。 易语言,全称“易学易用语言”,设计初衷是为了降低编程的难度,让不懂计算机语言的人也能进行程序开发。它的语法...
易语言-易语言取
文件
图标转存
ICO
2. **转换图标格式**:由于`LoadImage`返回的是
H
ICO
N
句柄
,我们需要使用`Create
Ico
nIndirect` API函数,将
H
ICO
N
转换成
ICO
格式的图标。 3. **创建
ICO
文件
**:使用`BeginUpdateResource`、`UpdateResource`和`...
提取exe
文件
图标
在IT领域,提取EXE
文件
图标是一项常见的任务,这通常涉及到
资源
管理器、图形用户界面(GUI)设计或软件开发过程。图标是程序的视觉标识,对于用户来说,它是识别应用程序的重要元素。本文将深入探讨如何提取EXE
文件
...
VC 提取并显示程序图标.rar
提取后的
ICO
数据可以是原始的二进制格式,需要进行解析才能转化为`
H
ICO
N
`(系统图标
句柄
),然后用`Create
Ico
nFromResourceEx`函数创建一个可以显示的图标对象。这个过程通常涉及对
ICO
文件
格式的理解,
ICO
是一种包含...
API更改图标.rar
7. **
源码
结构**:
源码
文件
可能包含一个或多个过程(函数),用于读取
ICO
文件
,加载图标,然后设置为主窗口的图标。此外,可能还有错误处理机制,以确保在API调用失败时能够适当地通知用户。 8. **
资源
管理**:在...
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章