知识大全 利用C#转换图片格式,还可转换为ico

Posted

篇首语:知识象烛光,能照亮一个人,也能照亮无数人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 利用C#转换图片格式,还可转换为ico相关的知识,希望对你有一定的参考价值。

利用C#转换图片格式,还可转换为ico  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  注意:转换为ICO后效果不好

  源代码:

  using System;

  using System Collections Generic;

  using System Text;

  using System Drawing;

  using System Drawing Imaging;

  using System IO;

  namespace paomiangege

  

  public class ImageConvert

  

  private int ICON_W = ;

  private int ICON_H = ;

  public ImageConvert()

  

  

  //fileinpath origaly picture file path fileoutpath save filepath index the ImageFormat you want to convert to

  public string Convert(string fileinpath string fileoutpath string index)

  

  try

  

  Bitmap bitmap = new Bitmap(fileinpath);

  index = index ToLower();

  switch (index)

  

  case jpg :  bitmap Save(fileoutpath ImageFormat Jpeg); break;

  case jpeg : bitmap Save(fileoutpath ImageFormat Jpeg); break;

  case bmp :  bitmap Save(fileoutpath ImageFormat Bmp); break;

  case png : bitmap Save(fileoutpath ImageFormat Png); break;

  case emf : bitmap Save(fileoutpath ImageFormat Emf); break;

  case gif : bitmap Save(fileoutpath ImageFormat Gif); break;

  case wmf : bitmap Save(fileoutpath ImageFormat Wmf); break;

  case exif : bitmap Save(fileoutpath ImageFormat Exif); break;

  case tiff :

  

  Stream stream = File Create(fileoutpath);

  bitmap Save(stream ImageFormat Tiff);

  stream Close();

   break;

  case ico :

  

  Icon ico;

  Stream stream = File Create(fileoutpath);

  ico = BitmapToIcon(bitmap false);

  ico Save(stream);       //   save the icon

  stream Close();

  ; break;

  default: return Error! ;

  

  return Success! ;

  

  catch(Exception ex)

  

  return ex Message;

  

  

  public string Convert(string fileinpath string fileoutpath string index int width int height)

  

  if (width <= || height <= )

  return error!size illegal! ;

  try

  

  Bitmap mybitmap = new Bitmap(fileinpath);

  Bitmap bitmap = new Bitmap(mybitmap width height);

  index = index ToLower();

  switch (index)

  

  case jpg : bitmap Save(fileoutpath ImageFormat Jpeg); break;

  case jpeg : bitmap Save(fileoutpath ImageFormat Jpeg); break;

  case bmp : bitmap Save(fileoutpath ImageFormat Bmp); break;

  case png : bitmap Save(fileoutpath ImageFormat Png); break;

  case emf : bitmap Save(fileoutpath ImageFormat Emf); break;

  case gif : bitmap Save(fileoutpath ImageFormat Gif); break;

  case wmf : bitmap Save(fileoutpath ImageFormat Wmf); break;

  case exif : bitmap Save(fileoutpath ImageFormat Exif); break;

  case tiff :

  

  Stream stream = File Create(fileoutpath);

  bitmap Save(stream ImageFormat Tiff);

  stream Close();

   break;

  case ico :

  

  if (height > || width > )//ico maxsize *

  return Error!Size illegal! ;

  Icon ico;

  ICON_H = height;

  ICON_W = width;

  Stream stream = File Create(fileoutpath);

  ico = BitmapToIcon(mybitmap true);

  ico Save(stream);       //   save the icon

  stream Close();

  ; break;

  default: return Error! ;

  

  return Success! ;

  

  catch (Exception ex)

  

  return ex Message;

  

  

  private Icon BitmapToIcon(Bitmap obm bool preserve)

  

  Bitmap bm;

  // if not preserving aspect

  if (!preserve)        // if not preserving aspect

  bm = new Bitmap(obm ICON_W ICON_H);  //   rescale from original bitmap

  // if preserving aspect drop excess significance in least significant direction

  else          // if preserving aspect

  

  Rectangle rc = new Rectangle( ICON_W ICON_H);

  if (obm Width >= obm Height)   //   if width least significant

            //     rescale with width based on max icon height

  bm = new Bitmap(obm (ICON_H * obm Width) / obm Height ICON_H);

  rc X = (bm Width ICON_W) / ;  //     chop off excess width significance

  if (rc X < ) rc X = ;

  

  else         //   if height least significant

            //     rescale with height based on max icon width

  bm = new Bitmap(obm ICON_W (ICON_W * obm Height) / obm Width);

  rc Y = (bm Height ICON_H) / ; //     chop off excess height significance

  if (rc Y < ) rc Y = ;

  

  bm = bm Clone(rc bm PixelFormat);  //   bitmap for icon rectangle

  

  // create icon from bitmap

  Icon icon = Icon FromHandle(bm GetHicon()); // create icon from bitmap

  bm Dispose();        // dispose of bitmap

  return icon;        // return icon

  

  

cha138/Article/program/net/201311/12504

相关参考

知识大全 C#转换图片文件格式

C#转换图片文件格式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  将图片转换为另一种格式的图像

知识大全 怎么将自己的图片设定成桌面图示

怎么将自己的图片设定成桌面图示?:bitbug./这个网站有,直接把电脑上的图片转换为ISO图示然后档案上面点右键-属性-更改图示。选择刚才转换的图示就好怎么用自己的图片当桌面图示?图示是ICO格式的

知识大全 如何将C#时间格式转换为中文格式

如何将C#时间格式转换为中文格式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  首先使用Java

知识大全 x4的图片能转换成jpg格式吗?请回答具体一些,谢谢

coreldrawx4的图片能转换成jpg格式吗?请回答具体一些,谢谢!可以。文件>导出,选择jpg格式就可以了。怎么把jpg格式的图片转换成gft格式的图片知道的回答下谢谢了用格式工厂,轻松转

知识大全 把图象文件转换成XML格式文件

把图象文件转换成XML格式文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!利用NET框架下的Fr

知识大全 谢谢

怎样能将JPG格式的图片转换为max格式呢?可以转换吗?求解答!谢谢  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 js将long日期格式转换为标准日期格式实现思路

js将long日期格式转换为标准日期格式  复制代码代码如下:cha138/Article/program/Java/JSP/201405/30753

知识大全 PHP中数组转换为XML格式

PHP中数组转换为XML格式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  最近公司要做一个AP

知识大全 资料库SQL语句 表格式转换

资料库SQL语句表格式转换  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!资料库SQL语句表格式转换

知识大全 Jsp结合XML+XSLT将输出转换为Html格式

Jsp结合XML+XSLT将输出转换为Html格式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!