基于中心点使用ImageMagick和回形针调整图像大小

基于中心点使用ImageMagick和回形针调整图像大小,imagemagick,paperclip,Imagemagick,Paperclip,比方说,我想把一个图像的大小调整到100px x 100px 我上传了一张200px 150px的照片。我希望它能根据中心点调整到…px x 100px。所以我实际上并不关心损失方面(调整大小的200px) 如果我上传150px x 200px的图片B,同样的,它应该调整到100px x…px 最终结果总是100px 100px,只是它位于中心 我已在以下章节中查看了示例: 但我不知道怎么做。有什么想法吗?根据你的描述,我猜你在说什么 缩放图像以完全填充100x100像素,即使这意味着您

比方说,我想把一个图像的大小调整到100px x 100px

我上传了一张200px 150px的照片。我希望它能根据中心点调整到…px x 100px。所以我实际上并不关心损失方面(调整大小的200px)

如果我上传150px x 200px的图片B,同样的,它应该调整到100px x…px

最终结果总是100px 100px,只是它位于中心

我已在以下章节中查看了示例:


但我不知道怎么做。有什么想法吗?

根据你的描述,我猜你在说什么

  • 缩放图像以完全填充100x100像素,即使这意味着您将获得100x123或123x100像素
  • 切掉100x100像素边界之外的图像的任何部分,最好从图像死点的每一侧切掉50px
  • 你说的是缩略裁剪。如果你正在使用,看看这个方便的小方法

    如果您无法通过PECL使用ImageMagick,以下是cropThumbnail的CLI:

    convert input.png -resize '100x100^' -gravity center -extent '100x100' output.png
    

    从你的描述我猜你在说

  • 缩放图像以完全填充100x100像素,即使这意味着您将获得100x123或123x100像素
  • 切掉100x100像素边界之外的图像的任何部分,最好从图像死点的每一侧切掉50px
  • 你说的是缩略裁剪。如果你正在使用,看看这个方便的小方法

    如果您无法通过PECL使用ImageMagick,以下是cropThumbnail的CLI:

    convert input.png -resize '100x100^' -gravity center -extent '100x100' output.png
    

    分两部分解决这个问题-首先让ImageMagick在最长最短的一侧将图像缩放到100px。查看
    man convert
    了解如何执行此操作。然后围绕中心点在相对较长的轴上进行裁剪。我认为这样做要比一次完成容易得多,但后者在IM中是可能的


    (根据注释中的版本更正)

    分两部分解决此问题-首先让ImageMagick在最长最短的一侧将图像缩放到100px。查看
    man convert
    了解如何执行此操作。然后围绕中心点在相对较长的轴上进行裁剪。我认为这样做要比一次完成容易得多,但后者在IM中是可能的


    (根据评论中的版本更正)

    我实际上并不关心丢失的附加图片-你能解释一下你的意思吗?如果调整图像的大小,使图像的最长边为100px(以适合目标大小),则不会丢失图像的任何部分,只丢失细节。您特别想要调整大小,而不是裁剪,对吗?最终结果应该是100px x 100px而不丢失纵横比,但愿意丢失图像中的一些细节。您的意思是它应该适合100px x 100px吗?那么,图片A变成了100px x 75px?我问这个问题是因为你说过不损失纵横比,我解释为保持纵横比不变。将200px x 150px图像(纵横比=4/3)转换为100px x 100px(纵横比=1)将强制更改纵横比。我想知道你是不是说你想在不挤压图像的情况下进行裁剪?所以我实际上并不关心损失的方面——这让我觉得你想要的是裁剪,而不是调整大小。我糊涂了<代码>:-)可能在宽度或高度上调整到最大100px,然后裁剪中心?我并不关心丢失的额外图片-请解释一下您的意思?如果调整图像的大小,使图像的最长边为100px(以适合目标大小),则不会丢失图像的任何部分,只丢失细节。您特别想要调整大小,而不是裁剪,对吗?最终结果应该是100px x 100px而不丢失纵横比,但愿意丢失图像中的一些细节。您的意思是它应该适合100px x 100px吗?那么,图片A变成了100px x 75px?我问这个问题是因为你说过不损失纵横比,我解释为保持纵横比不变。将200px x 150px图像(纵横比=4/3)转换为100px x 100px(纵横比=1)将强制更改纵横比。我想知道你是不是说你想在不挤压图像的情况下进行裁剪?所以我实际上并不关心损失的方面——这让我觉得你想要的是裁剪,而不是调整大小。我糊涂了<代码>:-)可能在宽度或高度上调整到最大100px,然后裁剪中心?谢谢您的努力。我无法用语言表达我对你的耐心和帮助的感激之情。谢谢你的努力。我无法用语言表达我对你的耐心和帮助的感激之情。