【发布时间】:2013-01-14 22:29:20
【问题描述】:
以下尺寸为 1x9 的图像正在被修剪为 1x6,因为可能顶部的像素与底部的像素颜色相同,并且在修剪功能中,这些像素被识别为背景颜色,即使在执行修剪函数之前报告的背景颜色是#FFFFFF。
http://s1.postimage.org/a7r69yxsr/m_medium_bc.png
我唯一要做的就是对图像执行修剪。显式设置 backgroundColor 和/或 transparent() 没有区别。
- 为什么会发生这种情况?这是预期的行为吗?
- 可以通过配置/属性设置/不更改 Graphicsk 库代码来解决此问题吗?
- 如果没有,什么时候可以修复这个错误?您是否希望在接下来的几天内修复这种性质的错误?
代码如下:
Magick::Image tempImage;
tempImage.read(name);
std::cout<<"size:"<<tempImage.columns()<<","<<tempImage.rows()<<std::endl;
temp=tempImage.backgroundColor();
std::cout<<"bg:"<<(std::string)temp<<std::endl;
tempImage.trim();
std::cout<<"size:"<<tempImage.columns()<<","<<tempImage.rows()<<std::endl;
【问题讨论】:
-
你能发布你正在使用的确切命令吗?
-
这发生在GraphicsMagick的GetBoundingBox(我的头顶的名字?)函数中,并且可以相对容易地修复。该功能的结果就其意图/用途而言是特殊的。它将图像角落的颜色视为背景颜色。
标签: c++ graphicsmagick magick++