[英]how serialize a system.Drawing.Image into stream in c#?
我有一個Image對象img,我需要將其保存到內存流中。
保存方法具有以下簽名:
Image.Save(Stream,ImageCodecInfo,EncoderParameters)
但是我不知道我應該在參數2和3中提供什么。
我使用BinaryFormmater序列化解決了問題,但是我想使用最合適的方法。
感謝您的任何幫助!
有一個更簡單的重載: Image.Save(Stream, ImageFormat)
。 第二個參數使您可以選擇保存圖像的格式,例如BMP,PNG或JPEG。
image.Save(stream, ImageFormat.Bmp); // if you need to access the pixels, perhaps
image.Save(stream, ImageFormat.Png); // lossless compression (good for drawings)
image.Save(stream, ImageFormat.Jpeg); // lossy but powerful compression (good for photos)
該鏈接包含您需要的信息。 在該頁面上,他們將其列為獲取ImageCodecInfo的最簡單方法:
public static ImageCodecInfo FindEncoder(ImageFormat format) {
if (format == null)
throw new ArgumentNullException("format");
foreach (ImageCodecInfo codec in ImageCodecInfo.GetImageEncoders()) {
if (codec.FormatID.Equals(format.Guid)) {
return codec;
}
}
return null;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.