此代码在尝试调用Image.Save(MemoryStream,ImageFormat)时失败。我得到异常:aValuecannotbenull.Parametername:encoder"ImageFormatformat=generatedImage.RawFormatasImageFormat;image.ImageData=generatedImage.Save(format);如果我直接传入ImageFormat对象,它会起作用,例如ImageFormat.Jpeg.将rawformat转换为ImageFormat的最佳方法是什么(最好不要使用switch语句或大量if语句)
我正在使用GDI+并创建一个新的位图,如下所示:varbmp=newBitmap(width,height);现在,当我观察它的RawFormat.Guid时,我发现它不同于所有预定义的ImageFormat(虽然我希望它是JPEG)。ImageFormat.Jpeg.Guid{b96b3cae-0728-11d3-9d7b-0000f81ef32e}format.Guid{b96b3caa-0728-11d3-9d7b-0000f81ef32e}有趣的是,如您所见,除了一个字符外,它们完全相同,这让我更加困惑。知道为什么吗?代码的哪些部分决定了我创建的位图的RawFormat是什么?
我在使用RawFormat保存位图图像时收到“值不能为空。\r\n参数名称:编码器”错误。示例代码:classProgram{staticvoidMain(string[]args){try{varimage=newSystem.Drawing.Bitmap(500,400);varstream=newMemoryStream();image.Save(stream,image.RawFormat);}catch(Exceptionexp){Console.WriteLine(exp.ToString());}}}现有的ImageEncoder列表中不存在RawFormat,因为以下代
我在使用RawFormat保存位图图像时收到“值不能为空。\r\n参数名称:编码器”错误。示例代码:classProgram{staticvoidMain(string[]args){try{varimage=newSystem.Drawing.Bitmap(500,400);varstream=newMemoryStream();image.Save(stream,image.RawFormat);}catch(Exceptionexp){Console.WriteLine(exp.ToString());}}}现有的ImageEncoder列表中不存在RawFormat,因为以下代