此代码在尝试调用Image.Save(MemoryStream,ImageFormat)时失败。我得到异常:aValuecannotbenull.Parametername:encoder"ImageFormatformat=generatedImage.RawFormatasImageFormat;image.ImageData=generatedImage.Save(format);如果我直接传入ImageFormat对象,它会起作用,例如ImageFormat.Jpeg.将rawformat转换为ImageFormat的最佳方法是什么(最好不要使用switch语句或大量if语句)
对于任何给定的System.Drawing.Imaging.ImageFormat是否可以获得扩展?(C#)例子:System.Drawing.Imaging.ImageFormat.Tiff->.tifSystem.Drawing.Imaging.ImageFormat.Jpeg->.jpg...这可以作为查找表轻松完成,但想知道.Net中是否有任何内容。 最佳答案 我现在找到了3种方法来做到这一点,其中,最后2种是等效的。所有都是扩展方法,并打算以“.foo”的形式产生扩展staticclassImageFormatUtils{
我正在使用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是什么?
我在使用Android模拟器和OpenCVCameraBridgeViewBase时遇到了一个奇怪的问题。使用onCameraFrame我得到一张看起来没有正确解码的图片。publicMatonCameraFrame(CvCameraViewFrameinputFrame){returninputFrame.rgba();}使用“inputFrame.gray()”我得到了预期的效果-黑白图像没有伪影或任何其他问题。这就是我得到的:Onemorepicture(abiggerone)到目前为止我已经尝试过:不同的API级别(从15到21)。不同的模拟器:Genymotion和Googl
C#位图是否支持将对象保存为JPEG或PNG文件格式? 最佳答案 位图扩展图像,因此您可以调用:Image.Save(String,ImageFormat).例如:usingSystem.Drawing//...Bitmapimg=newBitmap("file.jpg");img.Save("file.png",ImageFormat.Png);//ImageFormat.Jpeg,etc省略第二个参数并仅调用Image.Save(String)会将图像保存为其rawformat. 关
C#位图是否支持将对象保存为JPEG或PNG文件格式? 最佳答案 位图扩展图像,因此您可以调用:Image.Save(String,ImageFormat).例如:usingSystem.Drawing//...Bitmapimg=newBitmap("file.jpg");img.Save("file.png",ImageFormat.Png);//ImageFormat.Jpeg,etc省略第二个参数并仅调用Image.Save(String)会将图像保存为其rawformat. 关
我正在从文件中加载图像,我想知道如何在从文件中完全读取图像之前验证图像。stringfilePath="image.jpg";ImagenewImage=Image.FromFile(filePath);当image.jpg不是真正的jpg时,就会出现问题。例如,如果我创建一个空文本文件并将其重命名为image.jpg,则在加载image.jpg时将抛出OutOfMemory异常。我正在寻找一个函数来验证给定流或图像文件路径的图像。示例函数原型(prototype)boolIsValidImage(stringfileName);boolIsValidImage(Streamimage
我正在从文件中加载图像,我想知道如何在从文件中完全读取图像之前验证图像。stringfilePath="image.jpg";ImagenewImage=Image.FromFile(filePath);当image.jpg不是真正的jpg时,就会出现问题。例如,如果我创建一个空文本文件并将其重命名为image.jpg,则在加载image.jpg时将抛出OutOfMemory异常。我正在寻找一个函数来验证给定流或图像文件路径的图像。示例函数原型(prototype)boolIsValidImage(stringfileName);boolIsValidImage(Streamimage
在某些非常特殊的情况下,System.Drawing.Save(Stream,Imageformat)会创建损坏的PNG图像。有没有办法避免它,例如:我不需要使用第三方库,并且我不需要检查PNG字节来知道我是否需要“修复”某些东西?重现步骤创建一个System.Drawing.BitMap向图像添加内容,使其生成非常具体的PNG文件大小(“何时发生”)调用Save(Stream,Imageformat)--选择PNG格式问题是什么?问题是最后一个图像数据后的IDATblock不正确。它不包含数据,但长度字节为0000fff4。可以用https://github.com/jsummers
有没有快速的方法来获取与特定文件扩展名关联的ImageFormat对象?我正在寻找比每种格式的字符串比较更快的方法。 最佳答案 这是我发现应该可以解决问题的一些旧代码:varinputSource="mypic.png";varimgInput=System.Drawing.Image.FromFile(inputSource);varthisFormat=imgInput.RawFormat;这需要实际打开并测试图像——忽略文件扩展名。假设您无论如何都要打开文件,这比信任文件扩展名要可靠得多。如果您不打开文件,没有什么比字符串比较