如何使图像适合精确尺寸?我不想扭曲图像,我需要将它放在黑色背景上,并且无论是从一侧到另一侧还是从上到下都需要居中。它们最初是大图像,我需要将其缩小到 25px 宽 x 32px 高。
现在我只是检查宽度和高度并找出需要调整的大小:
InitializeMagick(*argv);
Image img(imgFilename);
// Check image dimensions
if (img.columns() > img.rows()) {
// wide image!
if (img.columns() > 25) {
img.resize(Magick::Geometry("25x"));
}
} else {
// tall image!
if (img.rows() > 32) {
img.resize(Magick::Geometry("x32"));
}
}
我必须相信有一种更简单/更好的方法可以做到这一点,同时还可以将其安装到 25px 宽 x 32px 高的画布上,图像在中心。我怎么做?
顺便说一句,我意识到上面的代码有问题......如果 img.columns() == img.rows() 它总是转到第二种情况并将图像大小调整为 32 高,这是不正确的将导致 img.columns() 也变为 32,这超出了所需的 25 像素。这是我假设图像适合会处理的事情。我只是不知道怎么做。