Natascha: Bildqualität einstellen

Hallo Leute

ich würde gerne in folgendem Script noch die Bildqualtität einstellen, d.h. wie gut das Bild sein soll, wenn es ausgegeben wird.
Wie mache ich das?

$dst_img=ImageCreate($x,$y);
$src_img=ImageCreateFromJpeg($imgdir_src);
ImageCopyResized($dst_img,$src_img,0,0,0,0,$x,$y,ImageSX($src_img),ImageSY($src_img));
$imgdir_src_show = ImageJpeg($dst_img);

header("Content-type: image/jpeg");
ImageJpeg($dst_img);

Danke,
Nasch

  1. Hallo Leute

    Hi

    ich würde gerne in folgendem Script noch die Bildqualtität einstellen, d.h. wie gut das Bild sein soll, wenn es ausgegeben wird.
    Wie mache ich das?

    ImageJpeg($dst_img);

    du hast doch schon den richtigen Parameter genommen! Dazu brauchst du allerdings die GD Lib. schreibs so:
    ImageJpeg($dst_img, '', 90); das 90 wäre dann deine Qualität.

    LG Christoph

    Danke,
    Nasch

    --
    Ich bin ein spezialisz!
    (Zitat von VENGA JO)
    1. Hi Christoph,

      erstmal vielen Dank, das klappt prima.
      Kannst Du mir eventuell auch sagen wie ich eine Art copyright auf das Bild schreiben lasse?
      D.h. unten rechts in die Ecke einen Text wie z.B. "copyricght by Nash".

      Nochmals danke ...

      Nasch

      1. Hi Christoph,

        Hi Nash

        erstmal vielen Dank, das klappt prima.

        schön :)

        Kannst Du mir eventuell auch sagen wie ich eine Art copyright auf das Bild schreiben lasse?

        Ja

        D.h. unten rechts in die Ecke einen Text wie z.B. "copyricght by Nash".

        ok dazu musst du noch folgendes schreiben:
        $schwarz = ImageColorAllocate ($dst_img, 0, 0, 0);
        ImageTTFText ($dst_img, 12, 0, 10, 20, $schwarz, "arial.ttf", "copyright by Nash");
        ImageDestroy ($dst_img);

        $schwarz = klar, das ist die Farbe der Schrift, kannst du ja mit RGB Werten anpassen.
        ImageTTFText = der 1. Wert ist das Bild selber, der 2 Wert ist die Schriftgröße, der 3. Wert ist die Ausrichtung in Grad. Also von oben nach unten schreiben oder schräg und da ist 0 ganz normal von links nach rechts. Der 4. und der 5. Wert sind dann die x und y Koordinaten von deinem Bild wo die Schrift plaziert werden soll. Musst du natürlich ausrechen, da ich nicht weiss wie groß dein bild ist usw...
        ImageDestroy = löscht das Bild aus dem Speicher nur...

        Hoffe das hilft Dir auch diesesmal weiter :)

        LG Christoph

        Nochmals danke ...

        Nasch

        --
        Ich bin ein spezialisz!
        (Zitat von VENGA JO)
        1. nochmal ich

          ok dazu musst du noch folgendes schreiben:

          d.h. das screine ich dann nach

          ImageJpeg($dst_img, '', 90);

          oder?

          $schwarz = ImageColorAllocate ($dst_img, 0, 0, 0);
          ImageTTFText ($dst_img, 12, 0, 10, 20, $schwarz, "arial.ttf", "copyright by Nash");
          ImageDestroy ($dst_img);

          Muss ich das ImageDestroy schreiben, wird sonst nicht das ganze Bild gelöscht??

          Leider klappt das nicht, kann das sein, dass es an der Angabe von arial.ttf liegt, woher weiß ich wo arial.ttf liegt?

          Vielen, vielen Dank,

          Nasch

          1. kann man auch ein gif benutzen?

          2. nochmal ich

            d.h. das screine ich dann nach

            ImageJpeg($dst_img, '', 90);

            oder?

            schreibs so:
            header("Content-type: image/jpeg");

            $dst_img=ImageCreate($x,$y);
            $src_img=ImageCreateFromJpeg($imgdir_src);
            ImageCopyResized($dst_img,$src_img,0,0,0,0,$x,$y,ImageSX($src_img),ImageSY($src_img));
            $imgdir_src_show = ImageJpeg($dst_img);
            $schwarz = ImageColorAllocate ($dst_img, 0, 0, 0);

            ImageTTFText ($dst_img, 12, 0, 10, 20, $schwarz, "arial.ttf", "copyright by Nash");
            ImageJpeg($dst_img,'',90);
            ImageDestroy ($dst_img);

            $schwarz = ImageColorAllocate ($dst_img, 0, 0, 0);
            ImageTTFText ($dst_img, 12, 0, 10, 20, $schwarz, "arial.ttf", "copyright by Nash");
            ImageDestroy ($dst_img);

            Muss ich das ImageDestroy schreiben, wird sonst nicht das ganze Bild gelöscht??

            nein er löscht nur den Speicher den das Bild belegt!

            Leider klappt das nicht, kann das sein, dass es an der Angabe von arial.ttf liegt, woher weiß ich wo arial.ttf liegt?

            hehe das musst du natürlich mit auf den Server hochladen und den genauen Pfad angeben! Liegt die Fontdatei im gleichen Verzeichnis wie dein Script brauchst du natürlich nicht den genauen Pfad mit angeben.

            Und geht das mit gif? Ich glaube dazu bräuchtest du eine ältere GD Lib, da ja gif rausgenommen worden ist ab der Version 1.8 oder so.

            Gruß Christopha

            Vielen, vielen Dank,

            Nasch

            --
            Ich bin ein spezialisz!
            (Zitat von VENGA JO)
            1. He, so schnell, ich probiers mal aus ...

              Und geht das mit gif?

              Damit mein ich, ob ich auch ein Bild (gif) über mein Bild (Original) legen kann.

              :-)

              1. Damit mein ich, ob ich auch ein Bild (gif) über mein Bild (Original) legen kann.

                wie legen? versteh ich nicht so ganz...?

                :-)

                --
                Ich bin ein spezialisz!
                (Zitat von VENGA JO)
                1. Hi,

                  leider funktioniert das nicht mit dem Text :-(((

                  wie legen? versteh ich nicht so ganz...?

                  D.h. ich nehme ein anderes Bild (copyright.gif) und lege das über das zu erstellende Bild. Als Ausgabe kommt dann ein neues Bild heraus....

                  ... eigentlich will ich nur anstatt des Textes ein Bild verwenden ...

                  Nasch

                  1. leider funktioniert das nicht mit dem Text :-(((

                    Hmmm warum nicht? Was gibts für Fehlermeldungen? Oder kommt nur das Bild und kein Text? Welche Version von GD? Gibts die Schriftart auf dem Server? Stimmen auch die X und Y Koordinaten? Die X,Y Koordinaten definieren nämlich den Startpunkt des ersten Zeichens!

                    D.h. ich nehme ein anderes Bild (copyright.gif) und lege das über das zu erstellende Bild. Als Ausgabe kommt dann ein neues Bild heraus....

                    ne glaube sowas geht nicht. Hab ich noch nicht gelesen oder gehört oder gesehn. Ein gif mit einem jpg Bild zuverschmelzen, kannste abhaken...

                    Nasch

                    --
                    Ich bin ein spezialisz!
                    (Zitat von VENGA JO)
                    1. Hi!

                      leider funktioniert das nicht mit dem Text :-(((
                      Hmmm warum nicht? Was gibts für Fehlermeldungen?

                      ich weiss worans liegt ... die FreeType-Bibliothek ist nicht installiert - muss mein Server-Admin noch machen! Lokal läuft es nämlich!

                      Schade. Kann ich irgendwie im Script testen ob die FreeType-Bibliothek installiert ist und abhängig davon das Copyright setzen?

                      Ich danke Dir für Deine Mühen...

                      Nasch

                      1. Hi!

                        Hi

                        ich weiss worans liegt ... die FreeType-Bibliothek ist nicht installiert - muss mein Server-Admin noch machen! Lokal läuft es nämlich!

                        ok, entweder disabled oder nicht installiert... naja dann haben wirs ja :)

                        Schade. Kann ich irgendwie im Script testen ob die FreeType-Bibliothek installiert ist und abhängig davon das Copyright setzen?

                        nein glaube ich nicht. Hab darüber auch nichts gefunden.

                        Ich danke Dir für Deine Mühen...

                        Bitte mach ich doch gerne!

                        LG Christoph

                        Nasch

                        --
                        Ich bin ein spezialisz!
                        (Zitat von VENGA JO)