日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

c# 从一个大图里截取图形

發(fā)布時(shí)間:2023/12/18 C# 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c# 从一个大图里截取图形 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

public?void?DrawImage( ????Image?image, ????Rectangle?destRect, ????Rectangle?srcRect, ????GraphicsUnit?srcUnit ) public?void?DrawImage( ????Image?image, ????int?x, ????int?y, ????Rectangle?srcRect, ????GraphicsUnit?srcUnit )

[c-sharp]?view plaincopy
  • #region???截取圖象??
  • ??
  • ?///???<summary>???
  • ?///???從圖片中截取部分生成新圖???
  • ?///???</summary>???
  • ?///???<param???name=?"sFromFilePath?">?原始圖片?</param>???
  • ?///???<param???name=?"saveFilePath?">?生成新圖?</param>???
  • ?///???<param???name=?"width?">?截取圖片寬度?</param>???
  • ?///???<param???name=?"height?">?截取圖片高度?</param>???
  • ?///???<param???name=?"spaceX?">?截圖圖片X坐標(biāo)?</param>???
  • ?///???<param???name=?"spaceY?">?截取圖片Y坐標(biāo)?</param>???
  • ?public?static?void?CaptureImage(string?sFromFilePath,?string?saveFilePath,?int?width,?int?height,?int?spaceX,?int?spaceY)??
  • ?{??
  • ?????//載入底圖???
  • ?????Image?fromImage?=?Image.FromFile(sFromFilePath);??
  • ?????int?x?=?0;???//截取X坐標(biāo)???
  • ?????int?y?=?0;???//截取Y坐標(biāo)???
  • ?????//原圖寬與生成圖片寬???之差???????
  • ?????//當(dāng)小于0(即原圖寬小于要生成的圖)時(shí),新圖寬度為較小者???即原圖寬度???X坐標(biāo)則為0?????
  • ?????//當(dāng)大于0(即原圖寬大于要生成的圖)時(shí),新圖寬度為設(shè)置值???即width?????????X坐標(biāo)則為???sX與spaceX之間較小者???
  • ?????//Y方向同理???
  • ?????int?sX?=?fromImage.Width?-?width;??
  • ?????int?sY?=?fromImage.Height?-?height;??
  • ?????if?(sX?>?0)??
  • ?????{??
  • ?????????x?=?sX?>?spaceX???spaceX?:?sX;??
  • ?????}??
  • ?????else??
  • ?????{??
  • ?????????width?=?fromImage.Width;??
  • ?????}??
  • ?????if?(sY?>?0)??
  • ?????{??
  • ?????????y?=?sY?>?spaceY???spaceY?:?sY;??
  • ?????}??
  • ?????else??
  • ?????{??
  • ?????????height?=?fromImage.Height;??
  • ?????}??
  • ??
  • ?????//創(chuàng)建新圖位圖???
  • ?????Bitmap?bitmap?=?new?Bitmap(width,?height);??
  • ?????//創(chuàng)建作圖區(qū)域???
  • ?????Graphics?graphic?=?Graphics.FromImage(bitmap);??
  • ?????//截取原圖相應(yīng)區(qū)域?qū)懭胱鲌D區(qū)???
  • ?????graphic.DrawImage(fromImage,?0,?0,?new?Rectangle(x,?y,?width,?height),?GraphicsUnit.Pixel);??
  • ?????//從作圖區(qū)生成新圖???
  • ?????Image?saveImage?=?Image.FromHbitmap(bitmap.GetHbitmap());??
  • ?????//保存圖象???
  • ?????saveImage.Save(saveFilePath,?ImageFormat.Jpeg);??
  • ?????//釋放資源???
  • ?????saveImage.Dispose();??
  • ?????bitmap.Dispose();??
  • ?????graphic.Dispose();??
  • ?}??
  • ?#endregion??
  • ?

    //調(diào)用方法

    ???????? CaptureImage(@"D:/1.jpg", @"d:/2.jpg", 50, 50, 300, 300);

    總結(jié)

    以上是生活随笔為你收集整理的c# 从一个大图里截取图形的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。