| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

13-01-2010, 12:09
|
|
Gunah
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 87
|
|
ImageResize PNG-24-Alphatransparent
Hi,
habe ein problem und zwar müssen per PHP Bilder verkleinert werden...
leider wird bei den PNGs die Alpha Transparent entfernt -.- ...
bei einigen gehts bei einigen wohl nicht... keine klare Antwort...
habe folgenden Quellcode probiert, funktioniert aber nicht:
danach wollte ich auf gmagick oder imagick wechseln dort kommt folgendes:
Code:
Fatal error: Uncaught exception 'ImagickException'
with message 'no decode delegate
for this image format `/home/www/htdocs/test/img/test.png' @
constitute.c/ReadImage/530' in /home/www/htdocs/test/img/imagecreatfrompng.php:7
Stack trace:
#0 /home/www/htdocs/test/img/imagecreatfrompng.php(7): Imagick->__construct('test.png')
#1 {main}
thrown in /home/www/htdocs/test/img/imagecreatfrompng.php on line
PHP-Code:
//header('content-type: image/png'); $w = 130; $h = 20; $file = 'test.png'; $img = new Imagick($file); if ($crop) { $img->cropThumbnailImage($w, $h); } else { $img->thumbnailImage($w, $h, TRUE); }
echo $img;
Hoffe Ihr könnt mir da Tipps geben...
oder gar examples???
Thema gefunden:
gd lib tranparenz png 24 beibehalten
Geändert von Gunah (13-01-2010 um 17:47 Uhr)
|

13-01-2010, 12:12
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Was ist der Unterschied zwischen funktionierenden und den nicht funktionierenden Bildern?
|

13-01-2010, 12:23
|
|
Gunah
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 87
|
|
verkleinert wird das Bild schon,
nur ist der Background statt Alpha-Transparent schwarz...
habe gerade gesehen, das ich in dem Script oben den Fehler habe.
imagealphablending, imagesavealpha - abgeändert...
hier eine Resultat: imagecreatfrompng.png
hier das aktuelle:
Aktueller PHP Release von Debian Squeeze amd64
Geändert von Gunah (13-01-2010 um 17:48 Uhr)
Grund: PHP Version
|

13-01-2010, 15:36
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
du hast imagesavealpha für das falsche Bild eingeschaltet.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

13-01-2010, 17:47
|
|
Gunah
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 87
|
|
kannst du mir auf die sprünge helfen =)
weil hab mir noch mal bei php.net/imagesavealpha angeguckt... es ist eigtl an der richtigen stelle, nur tut er es irgendwie nicht...
hier mal das Script mit Example Datei:
gd-png24.zip
Geändert von Gunah (13-01-2010 um 18:00 Uhr)
|

13-01-2010, 17:53
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Du setzt das für das falsche Bild. Du musst es bei $nimage setzen, nicht bei $image, weil du ja auch $nimage speichern willst und nicht $image. Ich weiß nicht, wie ich es besser erklären soll, als dass du das beim falschen Bild setzt
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

13-01-2010, 18:00
|
|
Gunah
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 87
|
|
man bin isch bled =)...
PHP-Code:
<?php
header('content-type: text/html');
$imagefile = 'test.png'; $image=imagecreatefrompng($imagefile); /*imagesavealpha($image, true); imagealphablending($image, false);*/ $size=getimagesize($imagefile);
$nimage=imagecreatetruecolor(130,20); imagealphablending($nimage, false); imagesavealpha($nimage, true); imagecopyresampled($nimage,$image,0,0,0,0,130,20,$size[0],$size[1]);
imagepng($nimage,'test-out.png');
imagedestroy($image); imagedestroy($nimage); echo '<div style="background: black;">'; echo "<img src=\"test-out.png\" />"; echo '</div>';
?>
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|