【问题标题】:Cut out an arbitrary piece of an image and save it剪下任意一张图像并保存
【发布时间】:2016-05-01 14:28:48
【问题描述】:

我正在寻找一种方法来从图像中剪下任何形状并将其保存在服务器上的某个位置。 我正在寻找 PHP 和/或 JavaScript 的解决方案,但还没有找到任何东西。

我不确定,但据我所知,PHP 中的 gd 库只能从源图像中剪切或复制矩形形状。 在 JavaScript 中,这可能可以通过 canvas-object 以某种方式实现,但我还没有找到任何提供这种功能的库(rafael.js 或 paper.js 似乎没有做这项工作)......

例子:

假设我得到了以下图像:

现在我想标记该图像的某个部分(通过 x/y 坐标):

最后我想将该部分提取为单个图像(其余的背景填充为黑色):

感谢您的帮助

【问题讨论】:

  • 你需要GD-library
  • 要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。
  • 图像只是一个像素矩阵。 PHP 让您可以使用imagecolorat 访问每个单独的像素。您的任务包括选择要复制的像素,并将它们保存到新图像中。由于所有图像文件都是矩形的,因此您还必须为形状外的像素选择背景颜色,例如白色或透明。这一切都可以通过GD

标签: javascript php image-processing


【解决方案1】:

仅使用 PHP,imagecopy 让您可以轻松地通过坐标复制图像的一部分,并随心所欲地进行操作。

编辑:使用Imagick 可以将图像裁剪为特定形状以及其他功能。

【讨论】:

  • 根据您在评论中链接的文档,imagecopy 仅支持用于复制的矩形形状(起始坐标(x 和 y)和比例(宽度和高度))
  • stackoverflow.com/a/10071441/2931464这个套件我自己没试过太多,但是它有非常深入的图像处理能力,比如它的形态和转换模块。它可能是您正在寻找的。​​span>
  • 实际接受的答案是关于 imagick 的评论。谢谢你。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-29
  • 2021-07-11
  • 1970-01-01
相关资源
最近更新 更多