创建MagickImage时设置ColorType报错:no pixels defined in cache
解决MagickImage设置ColorType报错
no pixels defined in cache的问题 错误原因:你创建的空MagickImage对象没有任何像素数据,修改ColorType(或ColorSpace)时需要操作像素缓存,因此触发异常。
正确实现方式:
- 方式一:创建时直接指定尺寸、初始颜色和目标ColorType
using var img = new MagickImage(MagickColors.Transparent, 100, 100, ColorType.GrayscaleAlpha);
- 方式二:先创建带像素数据的图像,再修改ColorType
using var img = new MagickImage(MagickColors.Transparent, 100, 100); img.ColorType = ColorType.GrayscaleAlpha;
核心逻辑:必须先让图像拥有实际的像素数据(通过指定宽高+初始颜色),才能修改ColorType这类依赖像素缓存的属性。
内容的提问来源于stack exchange,提问作者wRadion
相关产品推荐
相关产品推荐

