2010-11-11 12 views
8

मैंने सचमुच पूरे दिन यह पता लगाने की कोशिश की। मैं imagerotate() के माध्यम से एक छवि घुमाता हूँ। मुझे एक काला पृष्ठभूमि मिलती है जहां छवि अब और नहीं आ रही है। मैं .. सब कुछ मैं नहीं कर सकते कि पृष्ठभूमि पारदर्शी बनाने के लिए के बारे में सोच ..PHP के साथ घूर्णन करने के बाद मैं एक पीएनजी पारदर्शी की पृष्ठभूमि क्यों नहीं बना सकता?

यहाँ

मेरे वर्तमान कोड है की कोशिश की है

function rotate($degrees) { 
     $image = $this->image; 
     imagealphablending($image, false); 
     $color = imagecolorallocatealpha($image, 0, 0, 0, 127); 
     $rotate = imagerotate($image, $degrees, $color); 
     imagecolortransparent($rotate, $color); 
     imagesavealpha($image, true); 
     $this->image = $rotate; 
    } 

मैं वास्तव में बंद टिक पाने के लिए शुरू कर रहा हूँ। क्या कोई मुझे कुछ कामकाजी कोड दिखा सकता है? कृप्या?

क्या यह मेरे WAMP सर्वर और dreamweaver के साथ कुछ गलत हो सकता है? क्योंकि मैंने यह भी कोशिश की .. http://www.exorithm.com/algorithm/view/rotate_image_alpha और यह अभी भी एक काला या सफेद पृष्ठभूमि डालता है ..

+2

कल के सवाल का डुप्लिकेट की तरह लगता है। http://stackoverflow.com/questions/4148774/how-do-i-get-a-transparent-background-after-rotaing-a-png-image-with-php/4148805 – stevelove

+0

और हाँ यह है। मुझे पता है कि मुझे वास्तव में फिर से पोस्ट नहीं करना चाहिए था लेकिन आपको पता नहीं है कि मैं इस कोड को पहले से ही काम करने के लिए कितनी बुरी तरह से चाहता हूं .. – Chris

+0

कृपया अपना PHP संस्करण निर्दिष्ट करें। – Rolf

उत्तर

1

अपनी घुमावदार छवि पर imagesavealpha() सेट करने का प्रयास करें।

वर्तमान में आप अपनी मूल छवि पर imagesavealpha() चला रहे हैं। [उदाहरण के लिए। imagesavealpha ($ छवि, सच); ]

इसके बजाय आप imagesavealpha() घुमाया छवि पर चलाना चाहते हैं और फिर> $ इस- सेट छवि ... कोशिश:

... 
    $rotate = imagerotate($image, $degrees, $color); 
    imagecolortransparent($rotate, $color); 
    imagesavealpha($rotate, true); // <- using $rotate instead of $image 
    $this->image = $rotate; 

}

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