我被难住了。如何读取灰度 8 位原始图像并转换为无损 JPEG?这是我必须读取原始图像的代码,但它失败了,运行时异常为ImageMagick.MagickMissingDelegateErrorException
MagickReadSettings settings = new MagickReadSettings();
settings.Width = 1000;
settings.Height = 800;
MagickImage image = new MagickImage("c:/users/rfonseka/desktop/image.raw", settings);
我不确定如何将其转换为无损格式JPEG2000。我想在内存中转换它,以便我可以将字节输出到 HTTP。
当您要读取原始文件时,您需要将可执行的 dcraw.exe 放入包含 Magick.NET dll 的目录中。您可以从 https://www.imagemagick.org/script/download.php#windows 下载的zip文件ImageMagick-7.X.X-X-Q16-x86-windows.zip包含此文件。
如果您使用的是 Magick.NETAnyCPU
版本,则需要配置缓存目录并将dcraw.exe
文件放在该目录中。
MagickAnyCPU.CacheDirectory = @"C:MyProgramMyTempDir";
如果您不想这样做,则需要将包含可执行文件的文件夹添加到您的%PATH%
。