我刚开始接触ImageMagick。目前我正在尝试将一个几乎是正方形(1411 x 1486)或类似大小的图像转换为正方形,例如1024x1024。不幸的是,调整大小函数似乎不会调整画布大小,因此我一直得到像1024x982这样的数字。我想知道是否有办法使用他们的C++库将非正方形图像转换为正方形图像。
它们不是正方形的原因是因为我将GPS位置转换为UTM并获得了一个正方形,但不幸的是由于地球的曲率,它们通常偏离正方形约400米......如果你想知道的话。
我刚开始接触ImageMagick。目前我正在尝试将一个几乎是正方形(1411 x 1486)或类似大小的图像转换为正方形,例如1024x1024。不幸的是,调整大小函数似乎不会调整画布大小,因此我一直得到像1024x982这样的数字。我想知道是否有办法使用他们的C++库将非正方形图像转换为正方形图像。
它们不是正方形的原因是因为我将GPS位置转换为UTM并获得了一个正方形,但不幸的是由于地球的曲率,它们通常偏离正方形约400米......如果你想知道的话。
使用 1024x1024!
不会填充缩略图。
这是您想要的链接 http://www.imagemagick.org/Usage/thumbnails/#pad
链接中的命令行(以防止链接失效):
convert -define jpeg:size=200x200 hatching_orig.jpg -thumbnail '100x100>' \
-background skyblue -gravity center -extent 100x100 pad_extent.gif
我按照Joshua所说的做了。对于一张图片有效。(谢谢Joshua)
我还想添加一个批量调整大小的解决方案,因为...
convert -resize 1024x1024! *.png
没有起作用
这里有一个关于工作样例的命令示例。
mkdir scaled
for %%x in (*.png) do convert -resize 1024x1024! %%x .\scaled\%%x
for x in *.png; do convert -resize '1024x1024!' $x ./scaled/$x; done
。 - v010dya
convert -define png:size=1024x1024 my_image.png -thumbnail '1024x512>' -background transparent -gravity center -extent 1024x1024 my_image_square_padded.png
来创建一个中心区域,大小为1024x512像素,在该中心区域周围填充透明空间。实际上,图像的尺寸将是1024x1024,但只有1024x512的可见部分,因为图像的其余部分只是透明填充。 - GDP2