C#简易图片格式转换器实现方法

本文实例讲述了C#简易图片格式转换器实现方法。分享给大家供大家参考,具体如下:

在窗体上放一个picturebox,menustrip.在菜单上键入两个按钮,分别为“文件”,“格式”。在“文件”下创建一个子菜单“打开”,name为menuOpen,在“格式”下创建一个子菜单“转换格式”,name为menuConvert.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.IO;
namespace WindowsFormsApplication51
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }
    string filename = "";//文件名
    //文件菜单下的“打开”按钮
    private void menuOpen_Click(object sender, EventArgs e)
    {
      OpenFileDialog of = new OpenFileDialog();
      of.Title = "打开文件";
      of.Filter = "图像文件|*.bmp;*.gif;*.jpg;*.png";
      if (of.ShowDialog() == DialogResult.OK)
      {
        filename = of.FileName;
        pictureBox1.Image = Image.FromFile(filename);
        pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
      }
    }
    //“转换格式”按钮
    private void menuConvert_Click(object sender, EventArgs e)
    {
      ImageFormat[] format = { ImageFormat.Bmp, ImageFormat.Gif, ImageFormat.Jpeg, ImageFormat.Png };
      //ImageFormat是using System.Drawing.Imaging;下的方法,用来指定文件的格式
      Image image = Image.FromFile(filename);
      SaveFileDialog sf = new SaveFileDialog();
      sf.InitialDirectory = Path.GetDirectoryName(filename);//system.io下的path里的GetDirectoryName()方法可以返回指定路径字符串的目录信息
      sf.FileName = Path.GetFileNameWithoutExtension(filename);//返回不具有扩展名的指定路径字符串的文件名
      sf.Filter = "位图(*.bmp)|*.bmp|交换图像格式(*.gif)|*.gif|联合图像专家组(*.jpg)|*.jpg;*.jpeg|可移植网络图形(*.png)|*.png";
      if (sf.ShowDialog() == DialogResult.OK)
      {
        image.Save(sf.FileName, format[sf.FilterIndex - 1]);//选择下拉表的第一个,则对应数组format[0]
        MessageBox.Show("格式转换成功", "消息");
      }
      else
      {
        MessageBox.Show("格式转换不成功", "消息");
      }
    }
  }
}

效果图如下:

打开一幅jpg图,转换为bitmap

希望本文所述对大家C#程序设计有所帮助。

(0)

相关推荐

  • C#中图片.BYTE[]和base64string的转换方法

    在C#中 图片到byte[]再到base64string的转换: Bitmap bmp = new Bitmap(filepath); MemoryStream ms = new MemoryStream(); bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); byte[] arr = new byte[ms.Length]; ms.Position = 0; ms.Read(arr, 0, (int)ms.Length); ms.Clo

  • C# 图片与二进制转换的简单实例

    复制代码 代码如下: ///图片转二进制private byte[] convertByte(Image img){    MemoryStream ms = new MemoryStream();    img.Save(ms, img.RawFormat);    //byte[] bytes = new byte[ms.Length];    //ms.Read(bytes, 0, Convert.ToInt32(ms.Length));    //以上两句改成下面两句    byte[]

  • C# 将透明图片的非透明区域转换成Region的实例代码

    需要设置允许不安全代码.....项目->属性->生成->允许不安全代码 复制代码 代码如下: /// <summary>        /// 根据图片得到一个图片非透明部分的区域      /// </summary>        /// <param name="bckImage"></param>        /// <returns></returns>        private

  • C#实现把图片转换成二进制以及把二进制转换成图片的方法示例

    本文实例讲述了C#实现把图片转换成二进制以及把二进制转换成图片的方法.分享给大家供大家参考,具体如下: private void button1_Click(object sender, EventArgs e) { string path = this.textBox1.Text; byte[] imgBytesIn = SaveImage(path); ShowImgByByte(imgBytesIn); //Parameters.Add("@Photo", SqlDbType.B

  • C#中图片、二进制与字符串的相互转换方法

    本文实例讲述了C#中图片.二进制与字符串的相互转换方法.分享给大家供大家参考,具体如下: protected void Button1_Click(object sender, EventArgs e) { //图片转二进制 byte[] imageByte = GetPictureData(Server.MapPath("./uploadfile/111.png")); //二进制转换成字符串 string picStr = Convert.ToBase64String(imageB

  • C#将图片和字节流互相转换并显示到页面上

    图片转换成字节流先要转换的IMage对象,转换之后返回字节流.字节流转换成图片,要转换的字节流,转换得到的Image对象,根据图片路径返回图片的字节流,感兴趣的朋友看下下面的代码. C#将图片和字节流相互转换代码: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Drawing; usingSystem.IO; namespaceMicrosoft.Form

  • C#实现的图片、string相互转换类分享

    C#中,Image为源自 Bitmap 和 Metafile 的类提供功能的抽象基类,也就是说更通用,当我们用Image.FromFile("xxx")时创建出来的是Image的某个派生类实体,所以我用Image作为参数,而不是Bitmap之类的. 图片在于string转换的时候中间借助于MemorySteam和Byte数组,下面是我写的FormatChange类,里面两个互相转换的过程.当然这里面也就包含了图片与Byte[]数组的相互转换喽. class FormatChange {

  • C# 将字节流转换为图片的实例方法

    复制代码 代码如下: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Drawing; usingSystem.IO; namespaceMicrosoft.Form.Base {     classImageToByte     {         /// <summary>         /// 图片转换成字节流         /// </s

  • c# Base64编码和图片的互相转换代码

    事出有因 我们已经做了一个编辑器,这个编辑器可以以xml格式存储一些信息.在存储图片信息时我们碰到了一些问题.我们本来在xml信息中存储的是图片的路径,然而一旦客户把这个信息copy到其他电脑上而没有同时copy相关的图片时,就会出现一些问题.          后来,我们把图片数据转换为Base64编码,替代了原先存储图片路径的方式. 转换流程 将图片转化为Base64字符串的流程是:首先使用BinaryFormatter将图片文件序列化为二进制数据,然后使用Convert类的ToBase64

  • 详谈C# 图片与byte[]之间以及byte[]与string之间的转换

    实例如下: //主要通过Stream作为中间桥梁 public static Image ByteArrayToImage(byte[] iamgebytes) { MemoryStream ms = new MemoryStream(iamgebytes); Image image = Image.FromStream(ms); return image; } public static byte[] ImageToByteArray(Image image) { MemoryStream m

  • asp.net(c#)实现从sqlserver存取二进制图片的代码

    下面说说主要实现思路: 1.存取图片 (1).将图片文件转换为二进制并直接存进sql server 复制代码 代码如下: //UploadHelper.cs /// <summary> /// 将图片转化为长二进制 /// </summary> /// <param name="photopath"></param> /// <returns></returns> public static Byte[] SetI

随机推荐