2009-09-08 17 views
20

स्थिति यह है: मेरे पास 50x50 तस्वीर है। मेरे पास 50x50 पारदर्शी तस्वीर भी है जिसमें 50x50 तस्वीर के लिए एक फ्रेम है, इसलिए मैं मूल रूप से पारदर्शी पीएनजी छवि के शीर्ष पर रखना चाहता हूं और उन दो को मर्ज करना चाहता हूं जो अंतिम तीसरी तस्वीर का कारण बनेंगे जो इस तरह कुछ दिखता है : http://img245.imageshack.us/i/50x50n.pngPHP का उपयोग कर छवि के साथ पारदर्शी पीएनजी कैसे विलय करें?

नोट: मैं केवल HTML का उपयोग करके ऐसा नहीं करना चाहता (मैंने जावास्क्रिप्ट प्लगइन लिखकर इसे हासिल किया जो मूल छवि के शीर्ष पर पारदर्शी पीएनजी डालता है)।

धन्यवाद।

उत्तर

29

आप PHP जीडी 2 लाइब्रेरी का उपयोग करके दोनों छवियों को एक साथ विलय कर सकते हैं।

उदाहरण:

<?php 
# If you don't know the type of image you are using as your originals. 
$image = imagecreatefromstring(file_get_contents($your_original_image)); 
$frame = imagecreatefromstring(file_get_contents($your_frame_image)); 

# If you know your originals are of type PNG. 
$image = imagecreatefrompng($your_original_image); 
$frame = imagecreatefrompng($your_frame_image); 

imagecopymerge($image, $frame, 0, 0, 0, 0, 50, 50, 100); 

# Save the image to a file 
imagepng($image, '/path/to/save/image.png'); 

# Output straight to the browser. 
imagepng($image); 
?> 
+0

मैंने कोशिश की लेकिन मेरा पारदर्शी फ्रेम बस बीच में सफेद हो गया। क्या समस्या होने का अनुमान है। –

+0

हो सकता है कि आप 'हेडर (' सामग्री-प्रकार: छवि/पीएनजी ') जोड़ना चाहें;' सही एमआईएम प्रकार ब्राउज़र को –

+0

पर भेजने के लिए अंतिम पंक्ति से पहले यह मेरे लिए काम नहीं करता है, यह नहीं करता है अल्फा चैनल को बचाने के लिए प्रतीत होता है। मैंने नीचे दिए गए उपयोगकर्ता द्वारा वर्णित अल्फा ब्लेंडिंग ध्वज जोड़ने का भी प्रयास किया। – Gazillion

4

आप इसे ImageMagick :: Composite का उपयोग करके कर सकते हैं। पहला उपयोगकर्ता योगदान नोट अवधारणा को समझने के लिए पर्याप्त होना चाहिए।

8

imagecopymerge() से पहले imagealphablending($frame,true); जोड़ें आपके द्वारा चित्र पीएनजी फ्रेम पारदर्शिता रखना चाहते हैं।

+3

छवि अभी भी पारदर्शी क्षेत्रों के साथ सफेद आती है। – AVProgrammer

+1

मुझे वही चीज़ मिलती है। क्या इसका अभी तक कोई समाधान रहा है? – Adam

संबंधित मुद्दे