पर ले जा रहा है मैं PHP जीडी के साथ अवतार बना रहा हूं। अवतार के पैरों और छवि के नीचे के बीच कष्टप्रद जगह है। मैं अवतार को नीचे तक नीचे दबाकर उस स्थान से छुटकारा पाना चाहता हूं (नीचे देखें)।नीचे एक छवि को
वहाँ इस के लिए एक विधि है:
यहाँ मूल छवि है कि मैं पसंद नहीं है, छवि मैं प्राप्त करना चाहते हैं के साथ है? धन्यवाद। छवि उत्पादन के लिए इस्तेमाल किए जा रहे कोड का मुख्य भाग नीचे दिया गया है।
$assets = array(
"../assets/shirt/Default.png",
"../assets/body/Default.png",
"../assets/hair/Default.png",
"../assets/eyes/Default.png",
"../assets/eyebrows/Default.png",
"../assets/mouth/Default.png",
"../assets/pants/Default.png"
);
$baseImage = imagecreatefrompng($assets[0]);
imagealphablending($baseImage, true);
imagesavealpha($baseImage, true);
foreach($assets as $item) {
$newImage = imagecreatefrompng($item);
imagecopy($baseImage, $newImage, 0, 0, 0, 0, 350, 550);
imagealphablending($baseImage, true);
imagesavealpha($baseImage, true);
}
if($_GET['x']) {
$sizex = $_GET['x']; if($sizex > 350) $sizex = 350;
$sizey = $_GET['y']; if($sizey > 550) $sizey = 550;
$png = imagecreatetruecolor($sizex, $sizey);
imagesavealpha($png, true);
$trans_colour = imagecolorallocatealpha($png, 0, 0, 0, 127);
imagefill($png, 0, 0, $trans_colour);
$blankImage = $png;
imagealphablending($blankImage, true);
imagesavealpha($blankImage, true);
imagecopyresampled($blankImage, $baseImage, 0, 0, 0, 0, $sizex, $sizey, 350, 550);
header("Content-type: image/png");
imagepng($blankImage);
}
else {
header("Content-type: image/png");
imagepng($baseImage);
}
नोट: उस कोड का if($_GET['x']) {
हिस्सा मुझे मौके पर अवतार के विभिन्न आकारों उत्पन्न करने के लिए अनुमति देने के लिए है। यह बढ़िया काम करता है।
यह अपने प्रश्न को समझने के लिए, लेकिन क्यों पिक्सेल पर से प्रचार ऊंचाई को कम नहीं मुश्किल है? –
अद्यतन डब्ल्यू/चित्र और बेहतर स्पष्टीकरण। मैं चीजों को समझाने में भयानक हूं। माफ़ कीजिये। :( – Anonymous
@BenD मैं छवि का आकार बदल नहीं सकता, और यह इस तथ्य के कारण है कि उपयोगकर्ता जूते या कुछ ऐसा सेट जोड़ सकता है जो इस स्थान का उपयोग करेगा। – Anonymous