C++ 如何使用Magick+;定位图像+;?

C++ 如何使用Magick+;定位图像+;?,c++,imagemagick,magick++,C++,Imagemagick,Magick++,我知道这是一个非常简单的问题,但我一直无法找到答案。作为一种解决方法,我一直在使用roll,但这并不理想。我希望能够使用Magick++库(而不是convert!)移动图像的内容,而不会将它们滚动到另一边。使用Magick::Image。正如fmw42在评论中指出的,扭曲()是您需要的方法 下面是一个使用-扭曲仿射的示例,但是SRT将为您提供更多的控制 #包括 int main(){ Magick::图像img(“向导:”); size_t numberOfArguments=4; double

我知道这是一个非常简单的问题,但我一直无法找到答案。作为一种解决方法,我一直在使用
roll
,但这并不理想。我希望能够使用Magick++库(而不是
convert
!)移动图像的内容,而不会将它们滚动到另一边。

使用
Magick::Image。正如fmw42在评论中指出的,扭曲()是您需要的方法

下面是一个使用
-扭曲仿射
的示例,但是
SRT
将为您提供更多的控制

#包括
int main(){
Magick::图像img(“向导:”);
size_t numberOfArguments=4;
double*listOfArguments=新的double[numberOfArguments];
参数列表[0]=0.0;
参数列表[1]=0.0;
listOfArguments[2]=img.rows()/4.0;
listOfArguments[3]=img.columns()/4.0;
bool bestFit=Magick::MagickFalse;
变形,变形,变形,
许多争论,
论据清单,
最佳拟合);
img.write(“output.png”);
}
请记住,参数的数量在失真方法之间会发生变化,并且每个方法根据参数计数对参数的顺序进行不同的解释

例如,使用
SRT
命令将映射为

===============  ========================================
Total Arguments  Argument Order
---------------  ----------------------------------------
 1                Angle
 2                Scale, Angle
 3                X, Y, Angle
 4                X, Y, Scale, Angle
 5                X, Y, ScaleX, ScaleY, Angle
 6                X, Y, Scale, Angle, NewX, NewY
 7                X, Y, ScaleX, ScaleY, Angle, NewX, NewY
===============  ========================================
使用-扭曲SRT。看见对不起,我不知道Magick++的等价物。