重新采样 PixelCacheAllocationFailed 时出现 MagickNET 异常
MagickNET exception when resample PixelCacheAllocationFailed
我在 ASP .NET 应用程序中使用 MagickNET。通常它是有效的,但有时使用一些文件(.jpg、.png)时,当我用另一个 DPI
重新采样图片时,我收到一个异常
ImageMagick.MagickResourceLimitErrorException: iisexpress.exe: PixelCacheAllocationFailed `D:\Data\IT Tools and Applications\Code\Zola\ZolaIntranet\Upload\Tempffe031b-b559-4b5c-8f88-e1a5b8e4fbe7.jpg' @ error/cache.c/OpenPixelCache/3369
这里是发生异常的行:
tmpImage.Resample(new PointD(300,300));
当我尝试使用较小的 DPI(72 或更少)时,我遇到了另一个异常:
ImageMagick.MagickCacheErrorException: iisexpress.exe: UnableToExtendCache 'D:\Data\IT Tools and Applications\Code\Zola\ZolaIntranet\Upload\Temp458df9-f7ee-4e4b-abfd-628317b4b7eb.jpg': Invalid argument @ error/cache.c/OpenPixelCache/3536 ---> ImageMagick.MagickCacheErrorException: iisexpress.exe: UnableToExtendCache
有人可以有想法吗?
由于某种原因,对于少数PNG格式的图片,ImageMagick无法找到图片的密度。您必须在调用 Resample()
函数之前指定密度,这解决了我的问题。
PointD density = new PointD(300,300);
tmpImage.Density = density;
tmpImage.Resample(density);
tmpImage.Write(image);
我在 ASP .NET 应用程序中使用 MagickNET。通常它是有效的,但有时使用一些文件(.jpg、.png)时,当我用另一个 DPI
重新采样图片时,我收到一个异常ImageMagick.MagickResourceLimitErrorException: iisexpress.exe: PixelCacheAllocationFailed `D:\Data\IT Tools and Applications\Code\Zola\ZolaIntranet\Upload\Tempffe031b-b559-4b5c-8f88-e1a5b8e4fbe7.jpg' @ error/cache.c/OpenPixelCache/3369
这里是发生异常的行:
tmpImage.Resample(new PointD(300,300));
当我尝试使用较小的 DPI(72 或更少)时,我遇到了另一个异常:
ImageMagick.MagickCacheErrorException: iisexpress.exe: UnableToExtendCache 'D:\Data\IT Tools and Applications\Code\Zola\ZolaIntranet\Upload\Temp458df9-f7ee-4e4b-abfd-628317b4b7eb.jpg': Invalid argument @ error/cache.c/OpenPixelCache/3536 ---> ImageMagick.MagickCacheErrorException: iisexpress.exe: UnableToExtendCache
有人可以有想法吗?
由于某种原因,对于少数PNG格式的图片,ImageMagick无法找到图片的密度。您必须在调用 Resample()
函数之前指定密度,这解决了我的问题。
PointD density = new PointD(300,300);
tmpImage.Density = density;
tmpImage.Resample(density);
tmpImage.Write(image);