[PHP] PNG alpha mit weiß ersetzen und als jpg speichern

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Murdoc, 26. Dezember 2009 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 26. Dezember 2009
    PNG alpha mit weiß ersetzen und als jpg speichern

    ich komm grad ned ganz dahinter. die ganzen gd-funktionen waren für mich scho immer ein einziges wirrwar :S

    ich such ne funktion die mir bei png's die transparenz mit ner farbe ersetzt, weil ich von dem png-bild n kleineres thumbnail im jpeg-format erstelle und da wird der transparente bereich sonst schwarz.

    is sicher was in der form imagemachalphatransparenzinfarbe($img, 0xfff); oder so ^^
     
  2. 26. Dezember 2009
    AW: PNG alpha mit weiß ersetzen und als jpg speichern

    Hatte in sachen GDL LIB immer nette anregungen von der php seite ->
    PHP: imagecreatefrompng - Manual

    Vielleicht mal dort posten =)) oder nach nem snipp ausschau halten.
     
  3. 26. Dezember 2009
    AW: PNG alpha mit weiß ersetzen und als jpg speichern

    du postest mir allen erstens n link zur offiziellen php-doku die ich stundenlang hoch und runter gewälzt hab.

    das is mir ne bw wert :lol:
     
  4. 26. Dezember 2009
    AW: PNG alpha mit weiß ersetzen und als jpg speichern

    Da du dass Bild verkleinerst, erstellst du bestimmt eine zweite Image in die du das Größere mittels imagecopyresized o.ä kopierst.
    Bei diesem Vorgang wird schon eine Alphablend auf das kleinere Image durchgeführt, dh. du musst das kleiner zuerst mit einer Farbe füllen in welcher dann deine transparenten Farben dann übergehen. Standartmässig ist beim neuen erstellen diese Farbe schwarz, deswegen erscheinen deine Transparenten Farben auch schwarz.

    Lange Rede - Kurzer Sinn - Hier ein Beispiel:

    PHP:
    <? php
    $imgPng 
    imagecreatefrompng ( 'up.png' );

    $img  imagecreatetruecolor ( 300 300 );
    imagefill        ( $img 0 0 0xFF0000 );  // Vor dem (hier) vergrößern, das Bild in einer Farbe (Rot) füllen
    imagecopyresized ( $img $imgPng 0 0 0 0 300 300 16 16 );

    header ( "Content-type: image/jpeg" );
    imagejpeg ( $img );
    ?>
    Mfg Rushh0ur
     
  5. 27. Dezember 2009
    AW: PNG alpha mit weiß ersetzen und als jpg speichern

    das wars, danke.

    hier ein wenig code von mir:
    PHP:
    function  scaleDownSize ( $w $h $nw $nh ) {
        if(
    $w  <=  $nw  &&  $h  <=  $nh )
            return array(
    $w $h );
        
        
    $div1  $nw  $nw  $w  1 ;
        
    $div2  $nh  $nh  $h  1 ;
                    
        return (
    $div1  $div2
            ? array(
    $nw round ( $h  $div1 ))
            : array(
    round ( $w  $div2 ),  $nh );
    }

    function 
    resampleSrc ( $src $wh $name $info ) {
        list(
    $nw $nh ) =  scaleDownSize ( $info [ 0 ],  $info [ 1 ],  $wh $wh );
        
    $des  imageCreateTrueColor ( $nw $nh );
        
    imageFill ( $des 0 0 imageColorAllocate ( $des 255 255 255 ));
        
    imageCopyResampled ( $des $src 0 0 0 0 $nw $nh $info [ 0 ],  $info [ 1 ]);
        
    imageJPEG ( $des 'thumbs/'  $name  '_'  $wh  '.jpg' 50 );
        
    imageDestroy ( $des );
    }
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.