Winform 将Ico图标转换为PNG图片
不管是做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;}}}
}
转载于:https://www.cnblogs.com/luoyuan_zane/archive/2010/08/11/1797295.html
Winform 将Ico图标转换为PNG图片相关推荐
- 常用图标png、ico 图标下载,图片格式转换为ico
网上找到几个不错的免费下载地址: 1.http://www.easyicon.net/ 2.http://588ku.com/sucai/ 3.http://www.iconpng.com 可以直接下 ...
- 在线透明favicon ico图标文件制作 - aTool在线工具
原址:http://www.atool.org/ico.php 在线透明favicon ico图标文件制作 - aTool在线工具 支持格式 png.jpg.gif 在线转换成透明.ico图标. [图 ...
- C#系列---⑥如何制作背景透明的ico图标、如何将图片白色背景转换为透明背景
我们在做软件的时候为了提高用户的体验度,我们更倾向于利用图片向用户展示我们各个模块的功能,这样既美观简洁又快速上手.那如何将我们喜欢的图片制作成透明背景的ico图标呢,下面将我查到的方法分享给大家,站 ...
- 将logo转换为ico图标
第一步:PS处理logo图片 建议转化为透明背景的png文件,尺寸为方形(256x256或者512*512) 第二步:转换为ico格式图片 方法一:使用在线网站进行转换.实测可行的免费网站如下: 在线 ...
- ps怎么将图片制作成ico图标? ps制作ico图标的教程
ps怎么将图片制作成ico图标? ps制作ico图标的教程 发布时间:2018-03-08 09:19:23 作者:塔上的蜗牛 我要评论 ps怎么将图片制作成ico图标?ps中想要设计一款一款 ...
- 使用前端js代码开发了一个图片转ico图标的功能
最近给自己的个人图像处理网站butterpig又新增加了一个在线的图片转ico功能,也是一键生成傻瓜式操作. 那么我们为什么需要favicon.ico图标呢? 首先,favicon即为favorite ...
- python制作ico图标_python使用PythonMagic k将jpg图片转换成ico图片的方法
python使用PythonMagic k将jpg图片转换成ico图片的方法 发布时间:2017-06-27 08:00 来源:互联网 当前栏目:网页设计教程 这篇文章主要介绍了python使用Pyt ...
- 答:怎样把图片文件转换成.ico图标文件?
答:怎样把图片文件转换成.ico图标文件? 有许多中方法制作图标文件.选其中的两种方式记录下来. 第一种非常简单,使用"小榕图标编辑器".是公用软件.免费.使用起来非常简单,根本不 ...
- 将图片转换成一个Ico图标文件
利用VB6编写的一款图片转ICO图标文件的小工具,程序界面简洁易用,只需载入一张图片便可生成一个ICO图标文件,还可以对图片进行尺寸裁剪,样式有矩形.椭圆.圆角,加边框等功能,图标尺寸最好为正方形,这 ...
最新文章
- Linux基础命令介绍十:文本流编辑 sed
- 孙宇晨大战Vitalik
- 【解题报告+思路拓展】蓝桥杯 拉马车 2017年C组真题
- docker 中用docker 启动应用访问docker中的mysql
- 项目管理工具比较-redmine vs trac
- 在搜索框自动输入文本_selenium自动化测试之常见的定位元素
- 结合Pandas中的多个数据集
- 【剑指offer】面试题五:从尾到头打印链表
- Linux命令df,du 查看系统磁盘空间
- Oracle DBA手记3:数据库性能优化与内部原理解析
- 南昊网上阅卷系统服务器地址,南昊网上阅卷系统
- thymeleaf实现分页
- Photoshop基本使用
- 风口下的远程办公:钉钉微信死磕,百度趁势入场
- JVM 垃圾回收(GC)
- 记一次错,数据库报syntax
- 【计算机视觉】数字图像处理(六)—— 图像压缩
- VC++ 如何让 MessageBox或AfxMessageBox 按钮显示英文或其他语言
- Unity下的UDP客户端
- Qt Quick使用简介