MFC将图片转换成ico文件

#include "atlimage.h"
HICON ToIcon(int cx,int cy)
{
	CImage img;
	img.Load("cap.bmp");//可以是jpg,png,gif格式图片
	int w = img.GetWidth();
	int h = img.GetHeight();

	CDC * dc = CDC::FromHandle(GetWindowDC(GetDesktopWindow()));
	CDC mdc;
	mdc.CreateCompatibleDC(dc);
	CBitmap bmp;
	bmp.CreateCompatibleBitmap(dc,cx,cy);
	HBITMAP hOldBmp = (HBITMAP)mdc.SelectObject(bmp);
	img.StretchBlt(mdc.m_hDC,0,0,cx,cy,0,0,w,h,SRCCOPY);

	HBITMAP hBmp = (HBITMAP)bmp.m_hObject;

	ICONINFO iconinfo;
	memset(&iconinfo,0,sizeof(iconinfo));
	iconinfo.fIcon = 1;
	iconinfo.hbmColor = hBmp;
	iconinfo.hbmMask = hBmp;
	iconinfo.xHotspot = 0;
	iconinfo.yHotspot = 0;

	HICON hIcon = CreateIconIndirect(&iconinfo);//获取HICON
	/*if(hIcon)
	{
		dc->DrawIcon(0,0,hIcon);
	}*/
	img.Detach();

	PICTDESC pictdesc;
	memset(&pictdesc,0,sizeof(pictdesc));
	pictdesc.cbSizeofstruct = sizeof(pictdesc);
	pictdesc.picType = PICTYPE_ICON;
	pictdesc.icon.hicon = hIcon;

	IPicture * pPic = NULL;
	int ret = OleCreatePictureIndirect(&pictdesc,IID_IPicture,1,(LPVOID*)&pPic);

	LPSTREAM pStream = 0;
	CreateStreamOnHGlobal(0,TRUE,&pStream);

	LONG size = 0;
	pPic->SaveAsFile(pStream,TRUE,&size);

	//这步非常重要
	///////////////////////////////////////////////
	LARGE_INTEGER li;
	li.HighPart =0;
	li.LowPart =0;
	ULARGE_INTEGER ulnewpos;
	pStream->Seek( li,STREAM_SEEK_SET,&ulnewpos);
	///////////////////////////////////////////////

	HANDLE hFile = CreateFile("1.ico",GENERIC_ALL,0,0,CREATE_ALWAYS,0,0);//生成ico文件
	if(hFile)
	{
		char * buf = new char[size];
		memset(buf,0,size);
		ULONG nRead = 0;
		pStream->Read(buf,size,&nRead);
		ULONG nWrited = 0;
		WriteFile(hFile,buf,nRead,&nWrited,0);
		CloseHandle(hFile);
	}
	return hIcon;
}

  

时间: 2024-10-09 10:30:05

MFC将图片转换成ico文件的相关文章

用PDF编辑器将图片转换成PDF文件的诀窍

大家在办公的时候将一些图片上传到网上的时候都不希望自己的图片破坏掉,于是就出现了将图片转换成PDF格式文件的方法.这样一来别人想要将PDF文件进行修改就比较困难了. 那么如何使用PDF编辑器将图片转换成PDF文件呢?下面小编就来教大家使用福昕PDF编辑器将图片转换成PDF格式. 1.打开安装好的福昕PDF编辑器: 2.点击顶部菜单栏[转换]-[文件转换]-[将多个文件转换为PDF]: 3.在弹出的窗口中,批量选中需要转换的图片: 4.如果需要,可以勾选左下角的选项,将所有图片合并在一个PDF文件

[工具-002]把png图片转换成ico图标

最近我收到了上级的一个需求,我们需要使用产品的png图片,批量转换成ico图片,然后调用上一篇的方法,替换可执行程序的图标.一开始查看资料的时候,C#有直接可以转成ico图片的方法,很简单.但是生成的质量不敢恭维.后面蔡领导不满意,重新寻找解决办法,找了一些C++代码,实现相当麻烦,也很不方便.后面找到了一个png2ico.exe的东西,然后就想到用C#调用CMD命令来完成.好吧,下面讲讲实现步骤. /** * 进行转换 * */ private void btnOk_Click(object

如何用不同的工具将图片转换成PDF文件

将一些图片制作成一个文档这种操作经常会遇到,有时候为了保持图片的清晰度,会选择将图片都转换成一个pdf文件,在没有pdf编辑器情况下图片如何转换成pdf文件呢? 首先我们需要整理好要转换的图片,然后打开pdf转换工具,选择图片转PDF. 然后是把整理好的图片按编号有序的添加到转换列表,基本上大部分的格式的图片都可以进行添加.添加玩图片后,查看下方选项设置是否是将这些图片合并成一个PDF文件. 最后设置好输出目录,点开始转换后,等文件转换完成,就可以在输出目录中生成一个PDF文件了. 这种方法是将

python,多图片转换成pdf文件

# -*- coding:utf-8 -*-#!/usr/bin/env python import osfrom reportlab.lib.pagesizes import A4, landscapefrom reportlab.pdfgen import canvasfrom tkinter import *import time # 图片文件名称列表IMAGEFILES = []class pdfTk(object): def __init__(self): '''用于生成主界面用于填写

照片转成pdf 如何把jpg图片转换成pdf格式

大家不知道还记不记得,那句台词"好男人就是我,我就是xxx"曾小贤.没错就是他<爱情公寓>毫无疑问近几年比较有特点的喜剧了,而且每个人都在盼望着第五季.尤其是到第四部结尾的时候,大家都希望曾小贤能和一菲在一起,在这时候它结束了,我们都幻想着爱情公寓第五季,可是迟迟没有音信.大家依然还记得子乔的小姨妈.楼下的小黑.婉瑜.展博. 这群年轻人跟现实生活中的我们一样,过着合租群租的生活,我们没有他们那么多的欢声笑语,可能这就是电视剧和现实差距,当我们最爱的几位主演都有了自己新的工作

手机上怎么将图片转换成PDF

当我们在网上找到很多不同的图,想要将它制作成一个相册时会怎么做呢?其实最简单的方法是将图片转换为PDF文件,也是为了更好的储存图片,更好的阅览文件,将图片转换成PDF文件是最好的方法,下面就将方法分享给大家. 转换工具介绍:它是一款提供免费文件格式转换的办公应用.支持一键完成PDF文件与Office.HTML.TXT和图片文档之间的格式转换,轻巧简便,快速转换,每天转换文档数量100000+,是移动办公方面优秀的文件格式转换小助手! 转换方法: 第一步:首先在手机的软件商店找到转换工具,然后运行

怎么把图片转换成pdf jpg转pdf案例

图片有各种格式,jpg.gif.png都是我们常见的,当我们想要把图片转换成pdf时,首先要注意这些文件的格式,考虑使用的方法是否可以兼容这些图片的格式,然后再查看此种方法的图片转成pdf的效果.那么,怎么把图片转换成pdf才能保证图片内容的整洁与清晰呢?想要达到这一点,其实并不是很难! 在执行图片转换成pdf操作前,我们要在电脑上下载安装好迅捷pdf转换器,然后还需要我们将要转换的图片放在同一个文件夹中,并将文件夹放在我们可以找到的位置.      第1步:在电脑桌面上用鼠标双击软件图标打开软

如何将.jpg图片 转换成.eps 格式图片

在使用latex写作论文的时候,需要插入一些图片,但是往往有些图片不是eps格式的.虽然网上有如何插入jpg格式的图片方法,但是经过我实验后发现都不太管用.最后找到一个比较靠谱的方法,使用latx本身的图片转换功能.具体方法如下: 可以从MiKTex的目录下找到bmeps的应用文件.在我的电脑里路径是D:\ProText\MiKTeX\texmf\miktex\bin,是latex自己的bitmap to eps converter. 在DOS下,进入.jpg图片所在目录, 用语句bmeps 1

如何将一批pdf文件转换成jpg文件

从事设计行业,经常需要从网络上搜集一些图片素材,可是当我们下载的素材是pdf格式的时候,我们该怎么办呢?是不是需要将pdf格式转换成jpg或其它图片格式时才可以加以运用呢?今天小编与大家分享的技巧就是:如何将一批pdf文件转换成jpg文件.    工具/原料  pdf转jpg工具:http://pan.baidu.com/s/1o7ddEcU 方法/步骤  1.首先我们需要从网络上下载一个pdf转jpg工具,同时将它安装在自己的电脑中,并创建快捷方式. 2.双击快捷方式进入工具——选择“pdf图