[PHP / GD] Schlechte Qualität

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

  • [PHP / GD] Schlechte Qualität

    hi

    ich lade ein bild hoch und lass es mit der GD in 2 groessen verkleinern
    Lokal hab ich die GD 1.6 laufen, und die quaität der Bilder ist auch in Ordnung,
    auf dem Entwicklungs Server im Netz ist die GD 2.0 installiert
    Auf dem Server werden die generierten Bilder viel Blasser und die Farben werden verfaelscht

    Nun ist die Qualität der Bilder aber entscheidend, ob die Bildgroessen einzeln Hochgeladen werden (merhaufwand), oder eben automatisch verkleinert werden

    liegt es am server? an der neueren GD version oder an einem veralteten Befehl?
    oder sonst was?

    Code:
    function resizeImage( $ip, $dx, $dy, $fn = '', $cmpr = 100)
    {
    	$src = imagecreatefromjpeg($ip); 
    	$src_b = imagesx($src); 
    	$src_h = imagesy($src); 
    	if (!empty($dy) && empty($dx)) { $dx = $src_b / $src_h * $dy;  } 
    	if (!empty($dx) && empty($dy)) { $dy = $src_h / $src_b * $dx;  } 
    	$dst = imagecreate($dx, $dy); 
    	imagecopyresized($dst, $src, 0, 0, 0, 0, $dx, $dy, $src_b,	$src_h); 
    	header("Content-type:image/jpeg"); 
    	$img = imagejpeg($dst, $fn, $cmpr); 
    	//imagedestroy($dst); 
    }

    hoffe jemand kann mir weiterhelfen
    mfg

    // edit:
    @unten, sorry, foren wie rund um installation etc. haben mich verwirrt ins offtopic getrieben
    Zuletzt geändert von oPerILaZ; 25.04.2003, 16:38.
    ...mind your brain
    need a free bulletin board:
    JBB - laufendes Board

  • #2
    betreff: [PHP / GD] Schlechte Qualität

    warum dannn bei offtopic posten?

    *VERSCHIEB*
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      hast du dir mal die usernotes durchgelesen? truecolor könnte dir evtl helfen?

      Kommentar


      • #4
        jep, TobiaZ hat recht, als erstes würd ich imagecreate durch imagecreatetruecolor tauschen, ansonsten sind keine Änderungen nötig...

        da kommt ne Frage meinerseits ins Spiel: wieso gibt es überhaupts imagecreate wenn doch truecolor viel besser aussieht? oder hat das irgend andere Vorteile?

        Kommentar


        • #5
          ich denke das hat was mit der history zu tun. müsstest du mal nachsehen.
          ansonsten ist ja nicht gesagt, dass man die volle anzahl farben benötigt.

          gab jedenfalls schon oft probleme, nur weil die lieben leute nicht in den UCN nachlesen.

          Kommentar


          • #6
            super klappt
            danke
            ...mind your brain
            need a free bulletin board:
            JBB - laufendes Board

            Kommentar


            • #7
              ich habe mal wegen der bildqualität/dateigrösse getestet obs bei truecolor die grössere Datei gibt (bei einem Bild das qualitativ deutliche Unterschiede aufwies) und die Dateigrösse war nahezu identisch...

              Kommentar


              • #8
                Ich will auch schöne bilder *g*

                Sorry, hab aber schon in nem anderen thread gesucht. Das geht:

                $jpeg = imagecreatefromjpeg($verzeichnis."/".$name);
                $image = imagecreate($b_fl,$h);
                $farbe_body=imagecolorallocate($image,130,143,182);
                imagefill($image,0,0,$farbe_body);
                imageinterlace($image,0);
                imagecopyresized($image, $jpeg,($b_fl-$b)/2,0, 0,0,$b,$h, $size[0],$size[1]);

                header("Content-Type: image/jpeg");
                imagejpeg($image,"",$quali);

                Das aber nicht:

                $jpeg = imagecreatefromjpeg($verzeichnis."/".$name);
                $image = ImageCreatetruecolor($b_fl,$h); [/I]
                $farbe_body=imagecolorallocate($image,130,143,182);
                imagefill($image,0,0,$farbe_body);
                imageinterlace($image,0);
                ImageCopyResampled($image, $jpeg,($b_fl-$b)/2,0, 0,0,$b,$h, $size
                [0],$size[1]);
                header("Content-Type: image/jpeg");
                imagejpeg($image,"",$quali);


                Benutze ich die Befehle falsch oder gibt es die in meiner gl vielleicht nicht (die von apache 1.3.2.7). Das bild kann nicht geladen werden :-/

                Danke schonmal

                Greetz
                David

                Kommentar


                • #9
                  schau mal auf deine gross/kleinschreibung...

                  imageCreatetruecolor??? imagecreatetruecolor

                  imageCopyReasmpled??? imagecopyresampled

                  so einfach gehts

                  greets, Putterfly

                  Kommentar


                  • #10
                    imagecreatetruecolor und imagecopyresampled gibt es glaub ich erst ab gd2.x

                    hat man die nicht muss man leider mit haesslicheren bildern leben ...
                    greetz
                    iglo

                    Kommentar


                    • #11
                      thx, das wär dann auch schon die antwort auf meine frage...

                      wieso gibt es überhaupts imagecreate wenn doch truecolor viel besser aussieht? oder hat das irgend andere Vorteile?

                      Kommentar


                      • #12
                        Könnte mir vielleicht noch wer erklklären wie man die einrichtet *g* sorry

                        Kommentar


                        • #13
                          da siehst du am besten einfach mal im Manual nach, dafür ist es schließlich da.

                          Kommentar


                          • #14
                            da ist nur ne linux installation, ich brauch eine für win2k

                            Kommentar


                            • #15
                              in meiner php.ini steht übrigens das:

                              extension=php_gd.dll
                              ;extension=php_gd2.dll

                              müsste ich vielleicht php_gd2.dll implementieren, wenn ich die befehle benutzen will? wenn ich das versuche kommen haufenweise fehler auf dem server.

                              Kommentar

                              Lädt...
                              X