1

我正在 R 中寻找一种方法来制作 400x400px 图像 (.jpg/.png) 的不同尺寸和宽高比的较大图像而不扭曲它。新图像应该具有原图像的大部分内容,但可以在左右两侧剪掉一点,使其成为不失真的正方形。

我走了多远(失真):

library(magick)

pics <- list.files("./")

for(i in 1:length(pics)){

  a <- image_read((paste0("./", pics[i], sep="")))

  b<-image_resize(a, "300x300!")

  image_write(b, path = paste0("./", pics[i], sep=""), format = "jpg")
}  

提前致谢!

多米尼克。

4

1 回答 1

1

您可以在调整大小线之前添加这些线b<-image_resize(a, "300x300!")以进行裁剪a,使其呈方形。

newdim <- min(image_info(a)[c('width', 'height')])
a <- image_crop(a, geometry = geometry_area(newdim, newdim))
于 2019-02-09T22:01:04.747 回答