zoukankan      html  css  js  c++  java
  • C# 图片格式(JPG,BMP,PNG,GIF)等转换为ICO图标

    using System;
    using System.Drawing;
    using System.Windows.Forms;
    using System.IO;

    namespace ICOTest
    {
        public partial class Form1 : Form
        {
            string FileName = "C:\\";
            public Form1()
            {
                InitializeComponent();
            }

            //核心代码
            private void button1_Click(object sender, EventArgs e)
            {
                Size size = new Size(32, 32);
                //获得原始图片文件
                using (Bitmap bm = new Bitmap(FileName))
                {
                    //从现有图像缩小,为了得到合适的ICO文件
                    using (Bitmap iconBm = new Bitmap(bm, size))
                    {
                        //如果是windows调用,直接下面一行代码就可以了
                        //此代码不能在web程序中调用,会有安全异常抛出
                        using (Icon icon = Icon.FromHandle(iconBm.GetHicon()))
                        {
                            string Name_ = "C:\\ICO\\" + DateTime.Now.Ticks.ToString() + ".ico";
                            using (Stream stream = new System.IO.FileStream(Name_, System.IO.FileMode.Create))
                            {

                                icon.Save(stream);
                                MessageBox.Show("转换成功。路径是:" + Name_);
                            }
                        }
                    }
                }
            }

            private void button2_Click(object sender, EventArgs e)
            {
                openFileDialog1.Filter = "JPG|*.jpg|BMP|*.bmp|PNG|*.png|GIF|*.gif";
                DialogResult D = openFileDialog1.ShowDialog();
                if (D == DialogResult.OK)
                {
                    FileName = this.openFileDialog1.FileName.Trim();
                    this.textBox1.Text = FileName;
                }
            }
        }
    }

    图像界面效果如下:

  • 相关阅读:
    C# Trace 信息写入日志文件
    C# 获取操作系统版本和Service Pack版本的方法
    C# 控制系统服务
    log4net记录日志过程中一直占用日志文件的解决方法
    FileStream类学习小结
    Centos7 部署.net core2.1 详细步骤
    linux 安装redis 完整步骤
    Asp.Net Core Linux环境下 找不到配置文件、静态文件的问题
    关于Clipboard剪切板获取值为NULL问题解决方法
    STA和MTA线程模式的区别
  • 原文地址:https://www.cnblogs.com/bingyun84/p/1897240.html
Copyright © 2011-2022 走看看