按需从 JPEG 文件中提取裁剪的最快方法?

Fastest way to extract a crop from a JPEG file on demand?

我网站上的用户可以点击照片的一部分来放大照片。

我目前有一些 JavaScript 可以触发对 PHP 脚本的 AJAX 调用,该脚本使用 ImageMagick 检索相关裁剪。

除了 PHP,我还能做得更好吗?以某种方式直接使用 ImageMagick 或其他方式?

目前文件与主网站位于同一台服务器上,但由于 space 限制,我正在将它们移动到单独的服务器,因此需要在两个。

照片大小不一,有的是1600x1200只有200KB,有的是24MP+20MB+原图

使用 ImageMagick,您有两个选择:

  1. 加载图像时裁剪图像。然后最初加载的是 裁剪后的 图像。
  2. 加载图像,然后裁剪它。最初加载的是完整图像。

第一种方法效率更高,速度更快。

此方法是将图像区域信息附加到输入图像中方括号中([...] ) 像这样:

convert wizard:[130x150+80+80] -resize 200% wiz-head.png

这将从原始内置 wizard: 图像的左上角裁剪出一块 130x150 像素,偏移量为 80 像素。这是并排显示的两张图片,wizard:(左)和裁剪部分,大小调整了 200%:

如果您想裁剪 JPEG,您可以使用类似的东西:

   convert some.jpeg[330x250+180+280] -resize 300% output.png