小編給大家分享一下C#如何實現(xiàn)圖片切割,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務都江堰,十年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:028-86922220
具體如下:
圖片切割就是把一幅大圖片按用戶要求切割成多幅小圖片。dotnet環(huán)境下系統(tǒng)提供了GDI+類庫,為圖像操作處理提供了方便的接口。
下面是圖像切割小程序:
public class ImageManager { ////// 圖像切割 /// /// 圖像文件名稱 /// 切割后圖像寬度 /// 切割后圖像高度 /// 切割后圖像文件保存路徑 /// 切割后圖像文件擴展名 public static void Cut(string url, int width, int height,string savePath,string fileExt,string logofile) { Bitmap bitmap = new Bitmap(url); Decimal MaxRow = Math.Ceiling((Decimal)bitmap.Height / height); Decimal MaxColumn = Math.Ceiling((decimal)bitmap.Width / width); for (decimal i = 0; i < MaxRow; i++) { for (decimal j = 0; j < MaxColumn; j++) { string filename = i.ToString() + "," + j.ToString() + "." + fileExt; Bitmap bmp = new Bitmap(width, height); for (int offsetX = 0; offsetX < width; offsetX++) { for (int offsetY = 0; offsetY < height; offsetY++) { if (((j * width + offsetX) < bitmap.Width) && ((i * height + offsetY) < bitmap.Height)) { bmp.SetPixel(offsetX, offsetY, bitmap.GetPixel((int)(j * width + offsetX), (int)(i * height + offsetY))); } } } Graphics g = Graphics.FromImage(bmp); g.DrawString("創(chuàng)新互聯(lián)", new Font("黑體", 20), new SolidBrush(Color.FromArgb(70, Color.WhiteSmoke)), 60, height/2);//加水印 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; } bmp.Save(savePath+"http://" + filename,format); } } } }
程序員只需要調用Cut函數(shù)就可以應用了。
C#是一個簡單、通用、面向對象的編程語言,它由微軟Microsoft開發(fā),繼承了C和C++強大功能,并且去掉了一些它們的復雜特性,C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優(yōu)雅的語法風格、創(chuàng)新的語言特性和便捷的面向組件編程從而成為.NET開發(fā)的首選語言,但它不適用于編寫時間急迫或性能非常高的代碼,因為C#缺乏性能極高的應用程序所需要的關鍵功能。
以上是“C#如何實現(xiàn)圖片切割”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!