不管是做web,还是做C/S,经常会用到各种各样的功能按钮图片。然而有的时候控件要求图片格式为Ico,有时候要求是jpg、png、gif等。再加上网上的精美图标资源很多,图标的尺寸都比较统一等等因素,图标转化成png图片,然后拿去做按钮是非常不错的。

在网上找了半天,png转ico的工具很多,但是ico转png的却没有找到,所以就自己研究了下,做了个。其实做这个东西非常简单,代码也很少,这是全部代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;namespace IconToBmp
{public partial class Form1 : Form{public Form1(){InitializeComponent();}List<string> iconList = new List<string>();string outPath;string selectPath;/// <summary>/// 选择图标/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnSelect_Click(object sender, EventArgs e){if (openFileDialog1.ShowDialog() == DialogResult.OK){iconList.Clear();foreach (string str in openFileDialog1.FileNames){iconList.Add(str);}selectPath = openFileDialog1.FileName;txtInput.Text = "选择了" + iconList.Count.ToString() + "个图标。";}}/// <summary>/// 选择输出文件夹/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnOutput_Click(object sender, EventArgs e){if (folderBrowserDialog1.ShowDialog() == DialogResult.OK){outPath = folderBrowserDialog1.SelectedPath;txtOutput.Text = outPath;}}/// <summary>/// 转换前的数据验证/// </summary>/// <returns></returns>private bool Valid(){if (txtOutput.Text.Trim() == ""){MessageBox.Show("请选择图片输出位置!");return false;}if (iconList.Count == 0 || iconList == null){MessageBox.Show("请选择要转化的图标!");return false;}return true;}/// <summary>/// 转换/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnGo_Click(object sender, EventArgs e){if (!Valid()){return;}int count = 0;foreach (string str in iconList){try{string iconName = str.Substring(str.LastIndexOf(@"\")).Replace(".ico", ".png");System.Drawing.Icon icon = new Icon(str);Bitmap bmp = icon.ToBitmap();if (File.Exists(@outPath + iconName))//如果该文件已经存在{DialogResult result = MessageBox.Show(iconName.Substring(1) + "已存在,是否替换?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);if (result == DialogResult.OK )//如果替换{bmp.Save(@outPath + iconName);count++;}}else{bmp.Save(@outPath + iconName);count++;}}catch (Exception ex){MessageBox.Show("遇到异常,已终止转换,已转换"+count.ToString()+"个文件,异常消息:"+ex.Message);return;}}MessageBox.Show("共选择"+iconList.Count+"个图标,已转换" + count.ToString() + "个,"+(iconList.Count-count).ToString()+"个被跳过。");}/// <summary>/// 窗体加载/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Form1_Load(object sender, EventArgs e){folderBrowserDialog1.RootFolder = Environment.SpecialFolder.Desktop;if (selectPath != ""){openFileDialog1.InitialDirectory = selectPath;}}}
}
本文是使用 B3log Solo 从 奔放的胸毛。 进行同步发布的
原文地址:http://www.lyzane.com/articles/2010/08/11/1281507960000.html

转载于:https://www.cnblogs.com/luoyuan_zane/archive/2010/08/11/1797295.html

Winform 将Ico图标转换为PNG图片相关推荐

  1. 常用图标png、ico 图标下载,图片格式转换为ico

    网上找到几个不错的免费下载地址: 1.http://www.easyicon.net/ 2.http://588ku.com/sucai/ 3.http://www.iconpng.com 可以直接下 ...

  2. 在线透明favicon ico图标文件制作 - aTool在线工具

    原址:http://www.atool.org/ico.php 在线透明favicon ico图标文件制作 - aTool在线工具 支持格式 png.jpg.gif 在线转换成透明.ico图标. [图 ...

  3. C#系列---⑥如何制作背景透明的ico图标、如何将图片白色背景转换为透明背景

    我们在做软件的时候为了提高用户的体验度,我们更倾向于利用图片向用户展示我们各个模块的功能,这样既美观简洁又快速上手.那如何将我们喜欢的图片制作成透明背景的ico图标呢,下面将我查到的方法分享给大家,站 ...

  4. 将logo转换为ico图标

    第一步:PS处理logo图片 建议转化为透明背景的png文件,尺寸为方形(256x256或者512*512) 第二步:转换为ico格式图片 方法一:使用在线网站进行转换.实测可行的免费网站如下: 在线 ...

  5. ps怎么将图片制作成ico图标? ps制作ico图标的教程

    ps怎么将图片制作成ico图标? ps制作ico图标的教程 发布时间:2018-03-08 09:19:23   作者:塔上的蜗牛   我要评论 ps怎么将图片制作成ico图标?ps中想要设计一款一款 ...

  6. 使用前端js代码开发了一个图片转ico图标的功能

    最近给自己的个人图像处理网站butterpig又新增加了一个在线的图片转ico功能,也是一键生成傻瓜式操作. 那么我们为什么需要favicon.ico图标呢? 首先,favicon即为favorite ...

  7. python制作ico图标_python使用PythonMagic k将jpg图片转换成ico图片的方法

    python使用PythonMagic k将jpg图片转换成ico图片的方法 发布时间:2017-06-27 08:00 来源:互联网 当前栏目:网页设计教程 这篇文章主要介绍了python使用Pyt ...

  8. 答:怎样把图片文件转换成.ico图标文件?

    答:怎样把图片文件转换成.ico图标文件? 有许多中方法制作图标文件.选其中的两种方式记录下来. 第一种非常简单,使用"小榕图标编辑器".是公用软件.免费.使用起来非常简单,根本不 ...

  9. 将图片转换成一个Ico图标文件

    利用VB6编写的一款图片转ICO图标文件的小工具,程序界面简洁易用,只需载入一张图片便可生成一个ICO图标文件,还可以对图片进行尺寸裁剪,样式有矩形.椭圆.圆角,加边框等功能,图标尺寸最好为正方形,这 ...

最新文章

  1. Linux基础命令介绍十:文本流编辑 sed
  2. 孙宇晨大战Vitalik
  3. 【解题报告+思路拓展】蓝桥杯 拉马车 2017年C组真题
  4. docker 中用docker 启动应用访问docker中的mysql
  5. 项目管理工具比较-redmine vs trac
  6. 在搜索框自动输入文本_selenium自动化测试之常见的定位元素
  7. 结合Pandas中的多个数据集
  8. 【剑指offer】面试题五:从尾到头打印链表
  9. Linux命令df,du 查看系统磁盘空间
  10. Oracle DBA手记3:数据库性能优化与内部原理解析
  11. 南昊网上阅卷系统服务器地址,南昊网上阅卷系统
  12. thymeleaf实现分页
  13. Photoshop基本使用
  14. 风口下的远程办公:钉钉微信死磕,百度趁势入场
  15. JVM 垃圾回收(GC)
  16. 记一次错,数据库报syntax
  17. 【计算机视觉】数字图像处理(六)—— 图像压缩
  18. VC++ 如何让 MessageBox或AfxMessageBox 按钮显示英文或其他语言
  19. Unity下的UDP客户端
  20. Qt Quick使用简介

热门文章

  1. html5自学总结及分析,HTML学习记录和总结
  2. 电梯屏只有新潮的一半了!阿里的150亿,能否让分众扛住挑战?
  3. tl494c封装区别_TL494的特点与引脚功能
  4. mysql TIMESTAMP 不能为NULL
  5. 【VSCode】全限定,分栏设置
  6. 钱币兑换(动态规划)
  7. python ccf题解 201812-1 小明上学
  8. 2021 蓝桥杯省赛第一场 C++ 大学 B 组
  9. 服务器开机显示imm,服务器出现initializing firmware interfaces这个是什么问题
  10. 日记 [2007年08月29日]