【问题标题】:PHP Merge PNG ImagesPHP合并PNG图像
【发布时间】:2019-03-12 00:43:30
【问题描述】:

如何合并 2 张 png 图像,或 JPEG 上的 png?我有这张图片:

结果应该是这样的:

是否有可以做到这一点的轻量级库,或者是否可以使用 php 函数?我只想保持覆盖图像与背景(10px 的边距) - 我喜欢将它集成到我的 api 中。所以我可以即时创建它们 - 或存储它们以供以后使用,但能够创建/批量创建他们在线。

【问题讨论】:

  • 查找 GD 和 ImageMagick 库。 GD更常用。 ImageMagick 更强大。两者都能够叠加图片。但是,您的问题中缺少很多 细节。例如,您是否真的需要将图像组合在一起,或者将它们分层显示在页面上会更好吗?你甚至需要图像吗?如果你的背景图片只是一个圆角边框,为什么不使用 HTML 边框呢?如果背景比纯白色多,分层应该怎么做?前景图像的透明度如何?
  • 我提供 XMLTV EPG 电视指南,并且在 XMLTV 文件中有图标空间。因此,当使用指南时,您将拥有电台图标。现在我有一个很好的图标集合 - 但我每周都会添加新的站点,创建这些图像需要一些时间,上传它们等等。所以我认为从管理面板中更容易做到 - 在线,而不是在我的桌面上然后通过ftp上传..

标签: php image png


【解决方案1】:

尝试使用Intervention Image PHP 库,更具体地说是insert function

来自文档:

使用可选位置和偏移坐标将给定图像源粘贴到当前图像上。此方法可用于应用另一张图像作为水印,因为透明度值保持不变。

还有一个例子:

// create new Intervention Image
$bg = Image::make('public/background.jpg');


// create a new Image instance for inserting
$logo = Image::make('public/logo_discovery.png');

// Insert the logo onto the background
$bg->insert($logo, 'center');

【讨论】:

  • 谢谢,唯一的问题是 - 我没有 laravel 或作曲家。所以我不知道它是否可以在没有/或没有这些的情况下使用它..
  • 嗯,没有Composer不知道怎么用。也许您可以直接使用source code?如果您以前没有使用过 Composer,我绝对建议您检查一下。
  • 我“还”没用过..我还不需要它,但我会检查一下谢谢
  • 关于“没有 laravel 或 composer”——老实说,如果你在没有 Composer 的情况下使用 PHP,那么你自己做的事情比你需要的要困难得多。 Composer 非常易于学习和使用,一旦你使用它,它会让 PHP 的使用变得容易上亿倍。
猜你喜欢
  • 2019-08-01
  • 2011-06-02
  • 2012-03-11
  • 2023-04-04
  • 1970-01-01
  • 2011-10-18
  • 2010-11-26
  • 2012-03-06
  • 1970-01-01
相关资源
最近更新 更多