Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将JPG图像转换为8位PNG图像并保存在C#中?_C#_Asp.net_Image Conversion_8 Bit - Fatal编程技术网

如何将JPG图像转换为8位PNG图像并保存在C#中?

如何将JPG图像转换为8位PNG图像并保存在C#中?,c#,asp.net,image-conversion,8-bit,C#,Asp.net,Image Conversion,8 Bit,我用C#中的网络摄像头拍摄了一张JPG图像,并将其存储在一个文件夹中 现在我想把它转换成8位PNG图像 我检查了整个互联网和堆栈溢出,但建议的解决方案都不适合我 以下是我目前正在使用的内容: Bitmap img=新位图(imgPath); 位图img8=新位图(imgW、imgH、PixelFormat.Format16bppRgb565); 对于(int I=0;I您可以尝试使用,它包含一个用于转换文件的实用程序。您可以使用命令行界面或.Net连接器等 使用命令行,可以启动运行以下命令的进程

我用C#中的网络摄像头拍摄了一张JPG图像,并将其存储在一个文件夹中

现在我想把它转换成8位PNG图像

我检查了整个互联网和堆栈溢出,但建议的解决方案都不适合我

以下是我目前正在使用的内容:

Bitmap img=新位图(imgPath);
位图img8=新位图(imgW、imgH、PixelFormat.Format16bppRgb565);
对于(int I=0;I您可以尝试使用,它包含一个用于转换文件的实用程序。您可以使用命令行界面或.Net连接器等

使用命令行,可以启动运行以下命令的进程:

convert [yourfile.jpg] -depth 8 [yourfile.png]
这可能有些过分,但这是我知道的处理图像的唯一选项。

您可以尝试使用,它包含一个转换文件的实用程序。您可以使用命令行界面或.Net连接器之类的工具

使用命令行,可以启动运行以下命令的进程:

convert [yourfile.jpg] -depth 8 [yourfile.png]
这可能有点过分,但这是我知道的处理图像的唯一选择

不,我不能使用Gif,但可以使用TIFF

不,我不能使用Gif,但可以使用TIFF



您必须自己执行一些编程。您可以在此处找到示例逻辑和代码。

您必须自己执行一些编程。您可以在此处找到示例逻辑和代码。

您不能使用
img.Save(@“c:\somefile.png”,System.Drawing.Imaging.ImageFormat.png)有什么原因吗
?首先,这是一种非常低效的图像转换方法——史蒂文的方法要好得多。此外,转换为8位PNG图像的问题更大,因为您必须构建调色板并使用调色板对数据进行编码。如果您真的想要8位PNG,您应该使用支持此方法的转换库,并注意这可能会导致数据丢失丢失(从JPG转换时,这几乎是给定的)。例如,你可以使用GDI+或Antoine的答案。Sajid,你可以使用GIF或TIFF吗?您好,不,我不能使用GIF。但可以使用TIFF。@Steven Hansen我不想按原样保存图像。我希望图像的像素深度为8位。你有没有理由不能使用
img.save(@“c:\somefile.png”,System.Drawing.Imaging.ImageFormat.Png)
?首先,这是一种非常低效的图像转换方法——史蒂文的方法要好得多。此外,转换为8位PNG图像的问题更大,因为您必须构建调色板并使用调色板对数据进行编码。如果您真的想要8位PNG,您应该使用支持此方法的转换库,并注意这可能会导致数据丢失损失(从JPG转换时,这几乎是给定的)。例如,你可以使用GDI+或Antoine的答案。Sajid,你可以使用GIF或TIFF吗?您好,不,我不能使用GIF。但可以使用TIFF。@Steven Hansen我不想将图像保存为原样。我希望图像的像素深度为8位。您好,我需要用于Asp.net。它在Asp.net Web应用程序中工作吗?您需要在服务器上安装imagemagick,但没有什么能阻止这个解决方案在ASP.NET中工作。你不需要安装IMAGE。你只需要安装VisualC++ +可再分发()您好,我需要这个ASP.NET…它将在ASP.NET Web应用程序中工作。您需要在您的服务器上安装IMAGEMGEK,但没有什么能阻止这个解决方案在ASP.NET中工作。您不需要安装IMAGEMAGICK。您只需要安装VisualC++ +可重新分配()链接就断了(这就是为什么您应该发布代码,而不是链接它)。,它具体转换为灰度,而不是问题所问的。链接已断开(这就是为什么您应该发布代码,而不是链接它),它具体转换为灰度,而不是问题所问的。如果只有BMP和PNG有一些参数!如果只有BMP和PNG有一些参数!