《简单的C#图片压缩类-winform.doc》由会员分享,可在线阅读,更多相关《简单的C#图片压缩类-winform.doc(4页珍藏版)》请在金锄头文库上搜索。
1、#region C#图片处理功能 - BY DREAMDLM/* C#图片处理功能-DREAMDLM */#endregionusing System;using System.Collections.Generic;using System.Text;using System.Drawing;using System.Drawing.Imaging;using System.IO;using System.Windows.Forms;namespace EU.EUClass class ImgGDI public ImgGDI() /构造函数 / / Bitmap转换byte数组 / / /
2、 public byte Bmptobyte(Bitmap bmp) MemoryStream ms = new MemoryStream(); bmp.Save(ms, ImageFormat.Jpeg); ms.Flush(); byte buffer = ms.GetBuffer(); ms.Close(); return buffer; / / byte数组转换Bitmap / / / public Bitmap bytetobmp(byte buffer) MemoryStream ms = new MemoryStream(); ms.Write(buffer, 0, buffer
3、.Length); Bitmap bmp = new Bitmap(ms); ms.Close(); return bmp; / / 返回默认图片 / / public Bitmap getInstance() Bitmap bmp = DefaultPic(); return bmp; / / 选取本地图片 / / / public Bitmap LocalIMG(string IMG) FileStream fs = new FileStream(IMG, FileMode.Open); Bitmap bmp = new Bitmap(fs); fs.Close(); return bmp
4、; / / 返回流状态图片 / / / public Bitmap ImgFromBase64(string Img) Bitmap bmp; byte buffer = Convert.FromBase64String(Img); if (buffer.Length 0) MemoryStream ms = new MemoryStream(); ms.Write(buffer, 0, buffer.Length); bmp = new Bitmap(ms); ms.Close(); return bmp; else bmp = DefaultPic() ; return bmp; / /
5、默认图片 / / private Bitmap DefaultPic() FileStream fs = new FileStream(Application.StartupPath + Goodr.jpg, FileMode.Open); Bitmap bmp = new Bitmap(fs); fs.Close(); return bmp; / / GDI压缩图片 / / 传入参数Bitmap / public byte ImageGdi(Bitmap bmp) Bitmap xbmp = new Bitmap(bmp); MemoryStream ms = new MemoryStrea
6、m(); xbmp.Save(ms, ImageFormat.Jpeg); byte buffer; ms.Flush(); if (ms.Length 95000) /buffer = ms.GetBuffer(); double new_width = 0; double new_height = 0; Image m_src_image = Image.FromStream(ms); if (m_src_image.Width = m_src_image.Height) new_width = 1024; new_height = new_width * m_src_image.Heig
7、ht / (double)m_src_image.Width; else if (m_src_image.Height = m_src_image.Width) new_height = 768; new_width = new_height * m_src_image.Width / (double)m_src_image.Height; Bitmap bbmp = new Bitmap(int)new_width, (int)new_height, m_src_image.PixelFormat); Graphics m_graphics = Graphics.FromImage(bbmp
8、); m_graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; m_graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; m_graphics.DrawImage(m_src_image, 0, 0, bbmp.Width, bbmp.Height); ms = new MemoryStream(); bbmp.Save(ms, ImageFormat.Jpeg); buffer = ms.GetBuffer(); ms.Close(); return buffer; else