使用C#从图片文件生成图标ICON文件(附源文件)

看到网上有一些网站做图标转换工具,挺好的,所以研究了一下在C#中是如何实现的。其实很简单几行代码就可以搞定。

主要是使用System.Drawing.Icon类的Icon.FromHandle工厂方法。其关键代码如下:

public partial class FormMain : Form
    {
        public FormMain()
        {
            InitializeComponent();
        }

private void ButtonBrowseFile_Click(object sender, EventArgs e)
        {
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                textBoxFilePath.Text = openFileDialog.FileName;
            }
        }

private void ButtonSaveIcon_Click(object sender, EventArgs e)
        {
            if (DialogResult.OK == saveFileDialog.ShowDialog())
            {
                Size size = comboBoxImgSize.Text == "32*32" ? new Size(32, 32) : new Size(16,16);
                using (Bitmap bm = new Bitmap(textBoxFilePath.Text))
                {
                    using (Bitmap iconBm = new Bitmap(bm,size))
                    {
                        //如果是windows调用,直接下面一行代码就可以了
                        //此代码不能在web程序中调用,会有安全异常抛出
                        using (Icon icon = Icon.FromHandle(iconBm.GetHicon()))
                        {
                            using (Stream stream = saveFileDialog.OpenFile())
                            {
                                icon.Save(stream);
                            }
                        }
                    }
                }
            }
        }
    }

附件中是打包的可运行的winform程序代码,下载使用

分类: .Net开发经验

使用C#从图片文件生成图标ICON文件(附源文件)相关推荐

  1. (转)基于MVC4+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作...

    http://www.cnblogs.com/wuhuacong/p/4093778.html 在很多Web系统中,一般都可能提供一些图标的选择,方便配置按钮,菜单等界面元素的图标,从而是Web系统界 ...

  2. Windows如何自定义U盘盘符、文件夹图标、文件夹背景

    自定义U盘盘符.文件夹图标.文件夹背景 注意对于Vista和Win7的用户不支持文件夹图标和文件夹背景的更换 1.自定义盘符: 在U盘根目录下新建文件 autorun.inf(可先建.txt文本文档, ...

  3. gsoap 学习 1-由wsdl文件生成h头文件

    开始前先看一下用户向导吧 http://www.cs.fsu.edu/~engelen/soap.html 中左侧点击Documentation 英语水平确实有限,有些内容可能说的不准确,敬请参考向导 ...

  4. 根据 *_train_test.prototxt文件生成 *_deploy.prototxt文件

     根据 *_train_test.prototxt文件生成 *_deploy.prototxt文件 发表于2016/8/6 19:43:11  1218人阅读 本文参考博文 (1)介绍 *_tra ...

  5. 如何快速生成A2L文件(ASAP2 Studio):基于“前一版本A2L文件+最新map文件”生成新map文件对应A2L文件

    目录 一.ASAP2 Studio概述: 二.如何在ASAP2 Studio中利用"前一版本A2L文件+最新map文件"生成新map文件对应A2L文件: 2.1 在ASAP2 St ...

  6. 在Springboot环境下,使用Docx4J + Freemarker 完成word docx文件生成与Pdf文件转换(附带兼容linux字体问题处理办法)

    在Springboot环境下,使用Docx4J + Freemarker 完成word docx文件生成与Pdf文件转换(附带兼容linux字体问题处理办法) 前言 效果展示 正文 docx文件模板创 ...

  7. 图片如何生成pdf格式?图片怎么生成pdf格式文件?

    图片如何生成pdf格式?平时的工作中我们在处理pdf文件的时候,难免会遇到各种各样的问题.有时候我们需要把图片生成pdf.可能还有些小伙伴不知道该怎么做,图片生成pdf其实很简单,下面给大家分享一个图 ...

  8. 源文件与模块文件生成时的文件不同,仍要调试器使用它吗

    字体大小:大 中 小 源文件与模块生成时的文件不同,仍要让调试器使用它吗 (2011-03-21 20:06:58) 转载▼ 解决办法: 1.在工具-> 选项-> 调试-> 常规 里 ...

  9. 在Linux上将12导联心电文件生成PDF格式文件

    1.把ECG文件和同名ini文件放在/usr/local/12ECGNew/20170504路径下, 2.打开命令执行窗口putty,进入以上目录, 3.执行 ./ECGAnalyserL 02453 ...

最新文章

  1. HarmonyOS ListContainer 实现列表
  2. 流行的14个机器学习编程语言框架和工具
  3. spring 声明式事务
  4. 民政部部长李纪恒:适龄人口生育意愿偏低,总和生育率破警戒线
  5. C# WebApi+Task+WebSocket实战项目演练(四)
  6. 小白也能学会的 Git 常用指令指南
  7. 外部定义了一个数组,在函数内用指针对其操作
  8. Android之最好理解的Binder机制
  9. python tkinter button_更改Python中Tkinter Button的命令方法
  10. BigDecimal 部署测试环境精度丢失
  11. k8s实战之部署Prometheus+Grafana可视化监控告警平台
  12. 再谈内核模块加载(二)—模块加载流程(上)
  13. 中值滤波器及均值滤波器
  14. 移动办公系统现状分析
  15. ipad 在线打代码 code-server
  16. 显示网站Alexa世界排名的代码
  17. python程序填空快乐的数字_Python习题之快乐的数字
  18. ctDNA早期肿瘤×××基因检测
  19. 微型计算机最早应用于,计算机文化基础题库(含答案)
  20. 不亏是阿里三面,ConcurrentHashMap多线程扩容机制被面试官装到了

热门文章

  1. 云脉文档管理系统,工作中的实用工具
  2. 微信小程序 09 前后端交互
  3. sklearn分类算法-决策树、随机森林
  4. killall杀死nginx顽固进程
  5. 设置编程软件的背景颜色
  6. 360全景偏移调整_360全景拼接之调水平
  7. vue小程序开发(四)首页 推荐
  8. android视频壁纸源码,Android视频壁纸的实现
  9. java easyui tree例子_easyui-treegrid的案例
  10. Ubuntu实现网络链接设置