web-dev-qa-db-ja.com

PHP

PHPで次のことを行いたい:

2つの画像、jpgとpngがあります。 jpgのサイズをpngと同じサイズに変更してから、pngを上に配置します。 PNGには透明度があるので、jpgが下に表示されるように保存しておきます。

誰かが助けてくれるなら、それは素晴らしいことです!

ありがとう

17
Chris
<?
$png = imagecreatefrompng('./mark.png');
$jpeg = imagecreatefromjpeg('./image.jpg');

list($width, $height) = getimagesize('./image.jpg');
list($newwidth, $newheight) = getimagesize('./mark.png');
$out = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($out, $jpeg, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagecopyresampled($out, $png, 0, 0, 0, 0, $newwidth, $newheight, $newwidth, $newheight);
imagejpeg($out, 'out.jpg', 100);
?>
44
skyman

これは私が使用している作業コードです

$dest = imagecreatefrompng('mapCanvas.png');
$src = imagecreatefromjpeg('si.jpg');
imagealphablending($dest, false);
imagesavealpha($dest, true);
// Copy and merge
imagecopymerge($dest, $src, 17, 13, 0, 0, 60, 100, 100);

// Output and free from memory
header('Content-Type: image/png');
imagepng($dest);

imagedestroy($dest);
imagedestroy($src);
5
webkul

以下は、透明な透かしを画像にオーバーレイする例へのリンクです。あなたのユースケースかもしれません、関連しているかもしれません。

http://www.php.net/manual/en/image.examples.merged-watermark.php

JPG画像の読み込み、画像のサイズ変更、アルファトラッキングの有効化、Gdでの画像のエクスポートを行う方法もあります。

ジェイコブ

3
TheJacobTaylor