[英]Working with Image and Bitmap in c#?
我正在開發一個項目,其中包括由管理面板管理的圖片庫。 我想在管理面板中向管理員顯示縮略圖,該管理面板處於活動狀態並將顯示給最終用戶。
好。 我在兩個參數中將圖像存儲到db中:ImageData(byte []),ImageMimeType。 所以我想在第一次存儲圖像時存儲圖片的縮略圖版本。 我找到了一些示例代碼來調整和操作此地址鏈接文本中的圖片:
private static Image cropImage(Image img, Rectangle cropArea)
{
Bitmap bmpImage = new Bitmap(img);
Bitmap bmpCrop = bmpImage.Clone(cropArea,
bmpImage.PixelFormat);
return (Image)(bmpCrop);
}
此功能將圖像作為參數。 但我有ImageData(byte [])。
那么,如何將我的字節數組轉換為Image和Image到字節數組?
從流創建圖像:
private static Image cropImage(byte[] imgArray, Rectangle cropArea)
{
MemoryStream ms = new MemoryStream(imgArray);
Image img = Image.FromStream(ms);
Bitmap bmpImage = new Bitmap(img);
Bitmap bmpCrop = bmpImage.Clone(cropArea,
bmpImage.PixelFormat);
return (Image)(bmpCrop);
}
來自字節數組的圖像
public Image byteArrayToImage(byte[] byteArray)
{
MemoryStream ms = new MemoryStream(byteArray);
return Image.FromStream(ms);
}
圖像到字節數組
public byte[] imageToByteArray(Image image)
{
MemoryStream ms = new MemoryStream();
return image.Save(ms,ImageFormat.Jpeg).ToArray();
}
像這樣的東西?
Bitmap bmpImage = new Bitmap(img);
MemoryStream stream = new MemoryStream();
try {
bmpImage.Save(stream, bmpImage.RawFormat);
byte[] bytes = stream.ToArray();
}
finally {
stream.Close();
((IDisposable)stream).Dispose();
}
您也可以從byte []創建MemoryStream,然后從該流中加載Image。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.