您可以使用以下小脚本,该脚本使用 OSX 的内置PHP,默认情况下包含GD,因此您将保持原生状态,不需要ImageMagick或任何额外安装:
#!/usr/bin/php -f
<?php
// Get start image with transparency
$src = imagecreatefrompng('start.png');
// Get width and height
$w = imagesx($src);
$h = imagesy($src);
// Make a blue canvas, same size, to overlay onto
$result = imagecreatetruecolor($w,$h);
$blue = imagecolorallocate($result,0,0,255);
imagefill($result,0,0,$blue);
// Overlay start image ontop of canvas
imagecopyresampled($result,$src,0,0,0,0,$w,$h,$w,$h);
// Save result
imagepng($result,'result.png',0);
?>
所以,如果我从这个开始,中间是透明的:
结果我得到了这个:
我将画布背景设置为蓝色,以便您可以在 StackOverflow 的白色背景上看到它,但只需将第 12 行和第 13 行更改为这样的白色背景:
...
...
// Make a white canvas, same size, to overlay onto
$result = imagecreatetruecolor($w,$h);
$white = imagecolorallocate($result,255,255,255);
imagefill($result,0,0,$white);
...
...
我在这里以同样的方式做了另一个答案,以克服sips
.