Image processing 透明度移除Imagemagick不使用展平方法
我试图用ImageMagick去除透明度。以下命令适用于大多数图像,但不是所有图像。在少数情况下,它会弄乱图像-remove alpha解决了这个问题,但我不知道如何在Magick++代码中做到这一点。我正在使用以下命令,它不能处理少数图像。附件是一个样品 命令:convert-flatte-background white a.png a-removettransparency.jpgImage processing 透明度移除Imagemagick不使用展平方法,image-processing,imagemagick,magick++,Image Processing,Imagemagick,Magick++,我试图用ImageMagick去除透明度。以下命令适用于大多数图像,但不是所有图像。在少数情况下,它会弄乱图像-remove alpha解决了这个问题,但我不知道如何在Magick++代码中做到这一点。我正在使用以下命令,它不能处理少数图像。附件是一个样品 命令:convert-flatte-background white a.png a-removettransparency.jpg Imagemagick中的正确命令是将-background等设置置于-flatte等操作符之前。更重要的是
Imagemagick中的正确命令是将-background等设置置于-flatte等操作符之前。更重要的是,首先读取输入。这在IM 7中更为重要。我6岁的时候比较宽容。所以试试看
convert a.png -background white -flatten removeTransparency.jpg
中的一个示例类似于
包括
包括
int main argc,常量字符*argv[]{
矢量图像;
Magick::图像输入、输出;
//创建示例图像
input.sizeMagick::Geometry100100;
输入。readGRADIENT:绿色透明;
//设置背景色
input.backgroundColorMagick::ColorRED;
//将图像添加到列表中
images.push_backinput;
//执行展平操作
Magick::展平图像和输出,images.begin,images.end;
//安全到磁盘
output.writeoutput.png;
返回0;
}
这将转换一个像
到
要理解的关键是Magick++有标准的模板库,其中包含许多辅助方法,大多数方法都需要图像的listvector。如果在Magick::Image类中找不到所需的内容,那么它可能在STL上就结束了。谢谢。我也在做同样的事情。我正在使用STL图像。这应该适用于所有图像。因为我正在处理大量的图像,所以我想联系社区,询问它是否会扭曲任何图像。