2010-04-03 11 views
15

मैंने इस तरह कुछ करने की कोशिश की लेकिन यह छवि की पृष्ठभूमि को आवश्यक बनाता है, छवि की अल्फा आवश्यक नहीं है। मैं बस जेपीजी के रूप में सबकुछ अपलोड करना चाहता था, इसलिए अगर मैं किसी भी तरह से एक पीएनजी छवि को "फ्लैटन" कर सकता हूं तो कुछ पारदर्शी रूप से डिफ़ॉल्ट रूप से इसे सफेद होने के लिए, इसलिए मैं इसे jpg के रूप में उपयोग कर सकता हूं। किसी भी मदद की सराहना करते हैं। धन्यवाद।जीडी! एक पीएनजी छवि को जेपीईजी में परिवर्तित करना और अल्फा को डिफ़ॉल्ट रूप से सफेद बनाना और काला नहीं

$old = imagecreatefrompng($upload); 
$background = imagecolorallocate($old,255,255,255); 
imagefill($old, 0, 0, $background); 
imagealphablending($old, false); 
imagesavealpha($old, true);

उत्तर

50
<?php 
$input_file = "test.png"; 
$output_file = "test.jpg"; 

$input = imagecreatefrompng($input_file); 
list($width, $height) = getimagesize($input_file); 
$output = imagecreatetruecolor($width, $height); 
$white = imagecolorallocate($output, 255, 255, 255); 
imagefilledrectangle($output, 0, 0, $width, $height, $white); 
imagecopy($output, $input, 0, 0, 0, 0, $width, $height); 
imagejpeg($output, $output_file); 
+1

वाह महान व्यक्ति धन्यवाद एक गुच्छा! – Shawn

+0

+1, यह आउटपुट गुणवत्ता को बहुत अधिक अच्छा बना देता है – dynamic

+0

thx बहुत, मुझे बहुत अच्छे परिणाम के साथ कई बार बचाएं – chings228