作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
此代码在尝试调用 Image.Save(MemoryStream, ImageFormat)
时失败。
我得到异常:
a Value cannot be null.Parameter name: encoder"
ImageFormat format = generatedImage.RawFormat as ImageFormat;
image.ImageData = generatedImage.Save(format);
如果我直接传入 ImageFormat
对象,它会起作用,例如ImageFormat.Jpeg
.
将 rawformat
转换为 ImageFormat
的最佳方法是什么(最好不要使用 switch 语句或大量 if 语句)
谢谢本
最佳答案
我使用以下 hepler 方法:
public static string GetMimeType(Image i)
{
var imgguid = i.RawFormat.Guid;
foreach (ImageCodecInfo codec in ImageCodecInfo.GetImageDecoders())
{
if (codec.FormatID == imgguid)
return codec.MimeType;
}
return "image/unknown";
}
关于c# - 从 System.Drawing.Image.RawFormat 获取 ImageFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4286689/
我正在使用 GDI+ 并创建一个新的位图,如下所示: var bmp = new Bitmap(width, height); 现在,当我观察它的 RawFormat.Guid 时,我发现它不同于所有
此代码在尝试调用 Image.Save(MemoryStream, ImageFormat) 时失败。 我得到异常: a Value cannot be null.Parameter name: en
我是一名优秀的程序员,十分优秀!