【问题标题】:PHP: how to create an image from another PNG imagePHP:如何从另一个 PNG 图像创建图像
【发布时间】:2011-10-11 18:24:35
【问题描述】:

我有一个小型 Minecraft 站点/服务器,人们可以在其中上传他们的皮肤。 Minecraft 皮肤是小的 png 图像。是否可以通过PHP(GD库)将此png图像转换为另一个png图像?

喜欢这个网站:
http://www.minecraftskins.com/

- 查看皮肤预览。
我制作了这张图片来帮助我解释:

这在 PHP 中是否可行,有人知道我可以使用的脚本,或者任何可以帮助我的东西吗?

谢谢

【问题讨论】:

    标签: php png gd


    【解决方案1】:

    是的,这是可能的。您需要多个imagecopy 命令来提取皮肤图像的各个部分并将其粘贴到“输出”图像中的适当位置。

    基本的操作顺序是:

    $input = imagecreatefrompng('skin.png');
    $output = imagecreatetruecolor(800, 600); // whatever the dimensions should be.
    
    imagecopy($output, $input, 0,0, 10,20, 50,60);
    imagecopy(...);
    ...
    ...
    

    第一个复制命令是“取输入图像的 50x60 部分,从坐标 10x20 开始,并将其粘贴到左上角的目标图像中”。

    实际的顺序/坐标/大小由你自己决定。

    如果您没有对图像进行 1:1 复制并正在调整大小,那么您将需要 imagecopyresampled()

    【讨论】:

    • 我也打算推荐这个。
    • 我也打算提出这个建议。噗
    • 该死的..我必须弄清楚很多坐标:(但是谢谢你Marc B!
    【解决方案2】:

    这是从 png 创建图像的 PHP 手册:

    http://php.net/manual/en/function.imagecreatefrompng.php

    这是一个简单的教程:

    http://www.phptutorial.info/?imagecreatefrompng

    【讨论】:

      【解决方案3】:

      你可以用 CSS 做到这一点

      这里有一个教程:http://www.w3schools.com/css/css_image_sprites.asp

      【讨论】:

      • 感谢您的回答,但我正在寻找一种 PHP 解决方案来创建皮肤的永久图像
      猜你喜欢
      • 1970-01-01
      • 2012-05-10
      • 2019-10-20
      • 1970-01-01
      • 1970-01-01
      • 2014-12-25
      • 2014-04-17
      • 2013-09-23
      • 2017-01-20
      相关资源
      最近更新 更多