亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#實現對圖片文件的壓縮、裁剪操作實例

2020-01-24 02:23:49
字體:
來源:轉載
供稿:網友

本文實例講述了C#對圖片文件的壓縮、裁剪操作方法,在C#項目開發中非常有實用價值。分享給大家供大家參考。具體如下:

一般在做項目時,對圖片的處理,以前都采用在上傳時,限制其大小的方式,這樣帶來諸多不便。畢竟網站運維人員不一定會對圖片做處理,經常超出大小限制,即使會使用圖片處理軟件的,也由于個人水平方面原因,處理效果差強人意。

于是采用C#為我們提供的圖像編輯功能,實現一站式上傳,通過程序生成所需大小、尺寸的目標圖片。

具體步驟如下:

先說圖片壓縮:

第一步:需要讀取一個圖片文件,讀取方法:

// <param name="ImageFilePathAndName">圖片文件的全路徑名稱</param> public Image ResourceImage =Image.FromFile(ImageFilePathAndName); 

說明:

Image類:引用自System.Drawing,為源自 Bitmap 和 Metafile 的類提供功能的抽象基類。

主要屬性:Size->獲取此圖像的以像素為單位的寬度和高度。

PhysicalDimension->獲取此圖像的寬度和高度(如果該圖像是位圖,以像素為單位返回寬度和高度。如果該圖像是圖元文件,則以0.01 毫米為單位返回寬度和高度。)。

PixelFormat->獲取此 Image 的像素格式。

Height、Width->獲取此 Image 的高度、寬度(以像素為單位)。

主要方法:FromFile(String)->從指定的文件創建 Image。

FromStream(Stream)->從指定的數據流創建 Image。

Save(String fileName)->將該 Image 保存到指定的文件或流。

Save(Stream, ImageFormat)->將此圖像以指定的格式保存到指定的流中。

Save(String, ImageFormat)->將此 Image 以指定格式保存到指定文件。

更多屬性和方法說明請點擊。

第二步,生成縮略圖,并且將原圖內容按指定大小繪制到目標圖片。

/// <summary> /// 生成縮略圖重載方法1,返回縮略圖的Image對象 /// </summary> /// <param name="Width">縮略圖的寬度</param> /// <param name="Height">縮略圖的高度</param> /// <returns>縮略圖的Image對象</returns> public Image GetReducedImage(int Width, int Height) {   try   {  //用指定的大小和格式初始化Bitmap類的新實例  Bitmap bitmap = new Bitmap(Width, Height, PixelFormat.Format32bppArgb);  //從指定的Image對象創建新Graphics對象  Graphics graphics = Graphics.FromImage(bitmap);  //清除整個繪圖面并以透明背景色填充  graphics.Clear(Color.Transparent);  //在指定位置并且按指定大小繪制原圖片對象  graphics.DrawImage(ResourceImage, new Rectangle(0, 0, Width, Height));  return bitmap;   }   catch (Exception e)   {  ErrMessage = e.Message;  return null;   } } 

說明:

1、Bitmap類

引用自System.Drawing,封裝 GDI+ 位圖,此位圖由圖形圖像及其特性的像素數據組成。Bitmap 是用于處理由像素數據定義的圖像的對象。

關于封裝圖像的對象,詳細介紹可參看官方文檔:http://msdn.microsoft.com/zh-cn/library/system.drawing.bitmap.aspx。

2、Graphics類

引用自System.Drawing,(處理圖像的對象),封裝一個 GDI+ 繪圖圖面。

關于Graphics類可點此查看官方教程:http://msdn.microsoft.com/zh-cn/library/system.drawing.graphics.aspx

第三步,保存

第二步操作中返回的Image對象,暫時命名為:iImage:

iImage.Save(pathAndName, System.Drawing.Imaging.ImageFormat.Jpeg); 

以上是壓縮操作,做了下試驗,101k的圖片,經過壓縮后是57k。這個應該和尺寸有關系。

以下是圖片裁剪,其實原理和上面相似,無非也就是對圖片進行重畫操作。

/// <summary> /// 截取圖片方法 /// </summary> /// <param name="url">圖片地址</param> /// <param name="beginX">開始位置-X</param> /// <param name="beginY">開始位置-Y</param> /// <param name="getX">截取寬度</param> /// <param name="getY">截取長度</param> /// <param name="fileName">文件名稱</param> /// <param name="savePath">保存路徑</param> /// <param name="fileExt">后綴名</param> public static string CutImage(string url, int beginX, int beginY, int getX, int getY, string fileName, string savePath, string fileExt) {   if ((beginX < getX) && (beginY < getY))   {  Bitmap bitmap = new Bitmap(url);//原圖 if (((beginX + getX) <= bitmap.Width) && ((beginY + getY) <= bitmap.Height))  {    Bitmap destBitmap = new Bitmap(getX, getY);//目標圖    Rectangle destRect = new Rectangle(0, 0, getX, getY);//矩形容器    Rectangle srcRect = new Rectangle(beginX, beginY, getX, getY);    Graphics.FromImage(destBitmap);             Graphics.DrawImage(bitmap, destRect, srcRect, GraphicsUnit.Pixel);        ImageFormat format = ImageFormat.Png;    switch (fileExt.ToLower())    {  case "png":    format = ImageFormat.Png;    break;  case "bmp":    format = ImageFormat.Bmp;    break;  case "gif":    format = ImageFormat.Gif;    break;    }    destBitmap.Save(savePath + "http://" + fileName , format);    return savePath + "http://" + "*" + fileName.Split('.')[0] + "." + fileExt;  }  else  {    return "截取范圍超出圖片范圍";  }   }   else   {  return "請確認(beginX < getX)&&(beginY < getY)";   } } 

說明:

Rectangle類:矩形,詳情可參考官方文檔:http://msdn.microsoft.com/zh-cn/library/system.windows.shapes.rectangle(v=vs.85).aspx

以上就是裁剪一個圖片文件的示例代碼。

本文所使用代碼,是項目中真實代碼,已經過測試。

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品免费综合视频在线播放| 亚洲欧洲在线观看| 欧美日韩国产黄| 色综合视频一区中文字幕| 国产一区二区三区在线视频| 高清视频欧美一级| 两个人的视频www国产精品| 欧美精品在线观看91| 久久国产精品久久精品| 精品女同一区二区三区在线播放| 九九热最新视频//这里只有精品| 中文字幕精品久久| 精品视频久久久久久久| 97国产suv精品一区二区62| 成人久久一区二区| 国产精品免费一区二区三区都可以| 91po在线观看91精品国产性色| 91国产美女视频| 成人看片人aa| 欧美日韩成人在线视频| 91人成网站www| 成人精品福利视频| 亚洲曰本av电影| 日韩欧美福利视频| 国产日韩在线看| 亚洲人av在线影院| 中文字幕日韩在线播放| 欧美色欧美亚洲高清在线视频| 日韩在线观看免费网站| 亚洲精品乱码久久久久久金桔影视| 国产做受69高潮| 欧美日韩精品在线观看| 国产精品综合不卡av| 欧美日韩在线影院| 成人免费视频在线观看超级碰| 视频一区视频二区国产精品| 亚洲美女又黄又爽在线观看| 亚洲人成网7777777国产| 国产三级精品网站| 国产午夜精品全部视频播放| 亚洲欧美另类中文字幕| 九色成人免费视频| 国内精品久久久久| 久久这里只有精品99| 亚洲专区在线视频| 色偷偷噜噜噜亚洲男人| 亚洲美女视频网| 国产精品日韩欧美大师| 成人福利免费观看| 中文字幕一区二区精品| 国产一区二区黄| 欧美日韩国产二区| 欧美色另类天堂2015| 国产专区精品视频| 亚洲社区在线观看| 精品久久久久久久大神国产| 亚洲美女又黄又爽在线观看| 国模精品一区二区三区色天香| 国产精品欧美日韩| 亚洲精品98久久久久久中文字幕| 欧美福利视频网站| 国产精品18久久久久久麻辣| 欧美精品在线视频观看| 国产精品亚洲美女av网站| 欧美乱大交做爰xxxⅹ性3| 懂色av一区二区三区| 最近中文字幕日韩精品| 欧美激情亚洲激情| 精品久久久久久国产| 国产精品爽爽ⅴa在线观看| 2021久久精品国产99国产精品| 国产精品视频一| 久久久精品久久久| 亚洲视频在线观看网站| 欧美主播福利视频| 国产在线播放91| 国产精品日本精品| 成人激情视频在线播放| 国产精品免费久久久| 国产精品高潮呻吟久久av野狼| 日韩av电影中文字幕| 亚洲大胆美女视频| 欧美肥臀大乳一区二区免费视频| 日韩av在线免费播放| 亚洲电影成人av99爱色| 亚洲成人xxx| 国产精品视频播放| 欧美性猛交xxxx| 国产suv精品一区二区三区88区| 91免费高清视频| 亚洲国产毛片完整版| 欧美在线一区二区三区四| 九九九热精品免费视频观看网站| 一区二区三区亚洲| 亚洲裸体xxxx| 中文字幕日韩精品在线观看| 91亚洲精品在线| 久久天天躁狠狠躁夜夜躁| 久久男人资源视频| 精品久久久久久久久久久| 国产精品高精视频免费| 精品成人69xx.xyz| 亚洲乱码av中文一区二区| 尤物九九久久国产精品的分类| 狠狠干狠狠久久| 69av在线视频| 国产精品第3页| 久久久久久999| 亚洲风情亚aⅴ在线发布| 欧美自拍大量在线观看| 久久久av免费| 中文字幕日韩欧美精品在线观看| 一区二区三区国产在线观看| 亚洲国产精品va在线看黑人动漫| 成人免费视频网址| 亚洲视频视频在线| 日韩视频亚洲视频| 国产精品va在线播放| 91精品久久久久久久久久| 色伦专区97中文字幕| 在线精品国产成人综合| 亚洲性线免费观看视频成熟| 亚洲精品视频播放| 欧美国产第一页| 亚洲bt天天射| 欧美在线视频一二三| 欧美激情亚洲另类| 欧美激情视频一区| 日韩欧美国产一区二区| 色视频www在线播放国产成人| 91国偷自产一区二区三区的观看方式| 亚洲最新av在线网站| 欧美成人黑人xx视频免费观看| 久热精品视频在线观看一区| 久久久久久久久久久久av| 国产日韩欧美在线观看| 国产婷婷成人久久av免费高清| 亚洲欧洲高清在线| 国产精品久久久久久婷婷天堂| 亚洲美女在线观看| 一区二区在线视频播放| 日本中文字幕久久看| 欧美激情综合色综合啪啪五月| 欧美激情亚洲国产| 日韩欧美一区二区三区| 久久在精品线影院精品国产| 日韩电影免费观看中文字幕| 亚洲精品福利免费在线观看| 97国产精品视频人人做人人爱| 国产美女主播一区| 亚洲欧美日韩精品久久| 一区二区三区 在线观看视| 日韩欧中文字幕| 日韩在线观看免费全集电视剧网站| 久久精品视频va| 国产精品美腿一区在线看| 成人国产在线激情| 国产美女高潮久久白浆| 日韩美女在线看| 欧美视频国产精品| 欧美激情久久久| 精品香蕉一区二区三区| 欧美激情免费看| 国内外成人免费激情在线视频网站|