【问题标题】:How do I create a single PNG from two PNG files? [duplicate]如何从两个 PNG 文件创建一个 PNG? [复制]
【发布时间】:2014-03-12 02:18:02
【问题描述】:

我有两个 PNG 文件,我需要将一个放在另一个之上。第一张图片,红色的,是背景,第二张,绿色的,需要覆盖在红色背景图片之上。

我将如何在 PHP 环境中动态创建这个单一图像?

【问题讨论】:

    标签: php image imagemagick image-manipulation


    【解决方案1】:

    最简单的方法可能是使用 GD 图像库函数。

    您必须使用imagecreatefrompng 函数创建两个图像资源(每个图像一个)。然后使用imagecopy 函数将一个复制到另一个,该函数允许您指定到坐标和从坐标。 (或者,如果您还需要调整叠加图像的大小,请使用imagecopyresampled。)最后,使用imagepng 函数保存主图像资源。最后一个可以保存到磁盘或直接在浏览器中输出。

    这些函数的 PHP 手册有很多很好的例子。

    【讨论】:

      【解决方案2】:

      只需在 PHP 中使用 Imagick::compositeImage

       // php
       $background = new Imagick('red.png');
       $foreground = new Imagick('green.png');
       $background->compositeImage($foreground,Imagick::COMPOSITE_ATOP,50,50);
       $background->writeImage('output.png');
      

      我们直接执行Imagemagick commands

       # CLI
       convert red.png green.png -gravity south -geometry +0+30 -composite output.png
      

      【讨论】:

        猜你喜欢
        • 2012-05-09
        • 1970-01-01
        • 1970-01-01
        • 2018-01-18
        • 2010-10-19
        • 1970-01-01
        • 2011-08-22
        • 2012-02-17
        • 2016-07-31
        相关资源
        最近更新 更多