Bild upload + GD Libary Greyscale

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bild upload + GD Libary Greyscale

    Hallo zusammen,

    newbie

    habe mir aus verschiedenen Quellen ein Bildupload-Script zusammen gebaut. Das funktioniert auch alles - nun moechte ich noch, das das bild in den graustufen -modus konvertiert wird, leider funkioniert das nicht...

    vieleicht weiss jemand woran das liegt...

    vielen dank

    PHP-Code:

    <?php

    ///////////////////////////////////////////////////////////////////////////
    //db-connect
    //////////////////////////////////////////////////////////////////////////


    mysql_connect(""); 
    mysql_select_db(""); 


    //////////////////////////////////////////////////////////////////////
    //parameter
    //////////////////////////////////////////////////////////////////////

    $uploaddir '';
    $size_limit "yes";
    $limit_size "15000";
    $zufall rand(1,100);


    #name splitten
    $pic$_POST['bild'];
    $array explode ("/",$_FILES['userfile']['type']);
    $altname $array[0];
    $extension strtolower($array[1]);
    $newname=$pic.".".$extension;

    #Bildgröße ermitteln Flags in $size[2](1 = GIF, 2 = JPG, 3 = PNG, SWF = 4) 
    $size GetImageSize($_FILES['userfile']['tmp_name']);
    $breite=$size[0];
    $hoehe=$size[1];
    $typ=$size[2];

    //////////////////////////////////////////////////////////////////////7
    //convert to greyscale
    ///////////////////////////////////////////////////////////////////////

    $bild imagecreatefromjpeg($_FILES['userfile']['tmp_name']);
    $x imagesx($bild);
    $y imagesy($bild);

    for(
    $i=0$i<$y$i++) {
      for(
    $j=0$j<$x$j++) {
        
    $pos imagecolorat($bild$j$i);  
        
    $f imagecolorsforindex($bild$pos);
        
    $gst $f['red']*0.15 $f['green']*0.5 $f['blue']*0.35;  
        
    $col imagecolorresolve($bild$gst$gst$gst);
        
    imagesetpixel($bild$j$i$col);    
      }
    }
    $output imagejpeg($bild);

    ##hier beginnt der filecheck und upload
    if($_FILES['userfile']['name']=="") {
        echo 
    "<font color=#CC0000>PLEASE CHOOSE A FILE!";

    else {
        if(!((
    $typ == 1) or ($typ==2) or ($typ==4))) {
            echo
    "YOUR FILE MUST BE A .JPG OR A .GIF";
        }
        else {
            if (!((
    $hoehe<71)&&($breite==70))) {
                echo 
    "THE PICTURE MUST BE 70 PX * 70 PX";
            }
            else {  if ((
    $size_limit == "yes") && ($limit_size $_FILES['userfile']['size'])) 
    {
                    echo 
    "THE FILESIZE MUST NOT EXCEED 15 KB!";
                }
    else {
           
     if (
    move_uploaded_file($output$uploaddir.$newname)) 
    {
    ##datenbankeintrag des bildnamens

     
    $aendern ="UPDATE ilogin SET picture = '$newname' WHERE username='$myname'"

                        
    $update mysql_query($aendern);
                        echo 
    "SUCESS!";
                    }
                    else {
                        echo 
    "ERROR! TRY AGAIN!";
                    }
                }
            }
        }
    }

    ?>
    Zuletzt geändert von zoozoozoo; 23.03.2005, 19:55.

  • #2
    leider funkioniert das nicht...
    Und diese aussage kannst du vielleicht auch noch etwas spezifieren?

    BTW: Brich mal bitte den code so um, dass der horizontale Scrollbalken bei Standard-Auflösung verschwindet.

    Kommentar


    • #3
      das bild wird auf den server geladen, in die db eingetragen - aber leider nicht in graustufen umgewandelt..

      Kommentar


      • #4
        ja logisch:
        PHP-Code:
        $output imagejpeg($bild); 
        du speicherst hier kein bild in $output ... demzufolge wird hier
        PHP-Code:
        move_uploaded_file($output$uploaddir.$newname
        nix verschoben.

        also bild erst aus dem temp-verzeichnis verschieben, dann umwandeln und vorher nochmal die funktionsweise von imagejpeg studieren.
        Kissolino.com

        Kommentar

        Lädt...
        X