2010-02-15 35 views
14

Tôi muốn thực hiện như sau trong PHP:Đặt PNG qua JPG trong PHP

Tôi có hai hình ảnh, một jpg và một png. Tôi muốn thay đổi kích thước jpg với cùng kích thước như png sau đó đặt png lên trên. PNG có độ trong suốt vì vậy tôi muốn bảo vệ nó để jpg hiển thị bên dưới.

Nếu có ai có thể giúp điều đó thật tuyệt vời!

Cảm ơn

+1

Nhìn vào GD (hoặc GD2) thư viện cho PHP. – Moshe

+0

tôi muốn đạt được điều này trong woocommerce ai đó có thể trực tiếp – VedX

+0

Nó không phải là trùng lặp. Đó là một cách tiếp cận khác. – SaidbakR

Trả lời

35
<? 
$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); 
?> 
+0

Cảm ơn rất nhiều! Bị mắc kẹt vào vấn đề hợp nhất tương tự cho ngày thứ 3 mà không có bất kỳ ý tưởng nào (* quên mọi thứ đã biết trước đây *) ... đã cứu * linh hồn của tôi *! Cảm ơn rất nhiều! Chúa phù hộ bạn! –

+0

Mã không hoạt động. Vì nó hiển thị biểu tượng không tìm thấy hình ảnh. – Anupal

3

Đây là liên kết đến ví dụ sẽ phủ một hình mờ trong suốt lên hình ảnh. Có thể là trường hợp sử dụng của bạn, có thể liên quan.

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

Ngoài ra còn có một cách để tải hình ảnh JPG, thay đổi kích thước hình ảnh, bật theo dõi alpha, và hình ảnh xuất khẩu trong GD.

Jacob

4

Đây là đoạn code làm việc mà tôi sử dụng

$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); 
Các vấn đề liên quan