zoukankan      html  css  js  c++  java
  • 使用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(3232) : 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程序代码,下载使用
  • 相关阅读:
    Date类型转换成LocalDateTime 类型
    连接mysql数据库执行写入语句
    排序的的值为非数字时的处理方法
    git所遇到的问题
    visual studio快捷键
    Win10编译chromium
    下载chromium CIPD client失败的解决办法
    Linux内核源代码情景分析
    【赵强老师】史上最详细的PostgreSQL体系架构介绍
    3.Consul 安装配置(Proxysql+mgr)
  • 原文地址:https://www.cnblogs.com/yukaizhao/p/icon_from_image.html
Copyright © 2011-2022 走看看