Einzelnen Beitrag anzeigen

Dunedain
(Gast)

n/a Beiträge
 
#2

Re: [PHP] transparente PNG-Bilder öffnen und DREHEN!

  Alt 8. Jul 2006, 22:56
Hallo,

hab dein problem mal versucht, dein problem nachzubauen...

Jedoch konnte ich den beschriebenen "Fehler" beim drehen um 90 grad NICHT reproduzieren, aber beim drehen um kleinere oder größere Werte. die Lösung steckt im dritten und vierten Parameter der imagerotate Funktion (der vierte Parameter ist erst ab PHP 5.1.0 verfügbar), welche einen negativen Wert übergeben bekommen müssen, um eine bestehende Transparenz zu erhalten.

Code:
// Bilddatei laden...
$rImg = imagecreatefrompng('test.png');

// ...Bild drehen...
// ACHTUNG: Auf dritten und vierten Parameter achten!
$rImg = imagerotate($rImg, 25, -1, -1);

// Transparente Farbe setzten
// Workaround für den vierten imagerotate parameter
// imagecolorallocate bezeichnet dann die farbe, die im gedrehten bild transparent sein soll!
// ACHTUNG: Nur notwendig, wenn PHP version 'älter' als 5.1.0
#imagecolortransparent($rImg, imagecolorallocate($rImg, 255, 255, 255));

// ...und Bild ausgeben
header('Content-Type: image/png', true);
imagepng($rImg);
Falls der code nicht weiterhelfen sollte, kannst du ja mal eines deiner problem-bilder hochladen,
damit ich dein problem nachvollziehen kann!
  Mit Zitat antworten Zitat