在 PHP GD 中调整 png 大小时将 jpg 与 png 合并(水印)
Posted
技术标签:
【中文标题】在 PHP GD 中调整 png 大小时将 jpg 与 png 合并(水印)【英文标题】:Merging (watermark) a jpg with png while resizing the png in PHP GD 【发布时间】:2010-07-09 11:19:21 【问题描述】:我确信我能以某种方式解决这个问题,但是因为我不是 php 人,所以我花了很长时间。希望有人可以在几分钟内为我设置好脚本...
所以这是我需要做的: 我将 2 张图片从智能手机传输到网络服务器。这两张图片需要合并(加水印)。它们略有不同:
-
图片是 2 兆像素 jpg(拿着照片)
图片将是 480x800 像素的 png,具有透明背景(拿着简单的手指画)
现在我需要合并这些图像。第二个(png)需要缩放到第一个(jpeg)的分辨率。
请注意两点:
-
我只能使用安装在服务器上的 GD 库。 Imagick 或类似软件不可用
我很清楚第二张图片的质量不会很出色。没关系。
那么有人可以帮我解决这个问题吗?就像我说的,我一直在搞乱几个 GD 函数,但进展太慢了。我想我用imagecopy 和watermark 找到了所需的功能。但我找不到将它们组合在一起的正确方法。
提前致谢, 强度
谢谢一百万
【问题讨论】:
我通常使用 ImageMagick,但我发现这些 GD 示例可能会有所帮助:Adding watermarks to images using alpha channels、Watermark Images on the Fly in PHP 您是要保留第二张图片的纵横比(即按比例缩放)还是将其扭曲到第一张的分辨率(这样第二张图片就会完全变形)? 【参考方案1】:几个月前我发布了一个功能,因为代码很大,我将链接我的帖子,查看here。确保您不要只执行此操作,它会使您的服务器超载、保存带水印的图像或至少缓存它们。
如果您还需要调整原图或水印的大小,我还发布了一个功能来做到这一点here。
【讨论】:
两个链接都失效了。以上是关于在 PHP GD 中调整 png 大小时将 jpg 与 png 合并(水印)的主要内容,如果未能解决你的问题,请参考以下文章