PNG erzeugen, Größe berechnen

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

  • PNG erzeugen, Größe berechnen

    Ich möchte 2 Dinge tun.
    1 - Dyn Schaltflächen erzeugen
    und
    2 - ein Bild, je nachdem ob es im Hoch- oder Querformat voliegt,
    auf eine bestimmte Größe zu verkleinern. Hierbei soll aber das Seitenverhältnis beibehalten werden.

    zu 1 habe ich folgendes script
    PHP-Code:
    <?
    $breite =100;
    $hoehe = 30;
    $bild = imagecreate ($breite, $hoehe);
    $beschriftung = " Test";
    $font = 5;
    $rot = imagecolorallocate ($bild, 255, 0, 0);
    $gruen =  imagecolorallocate ($bild, 0, 255, 0);
    $blau = imagecolorallocate ($bild,  0, 0, 255);
    imagefilledrectangle ($bild, 1, 1, $breite - 2, $hoehe - 1,$rot);
    imageline ($bild, 0, $hoehe - 1, $breite - 1, $hoehe - 1,$gruen);
    imageline ($bild,  $breite - 1, 1, $breite - 1, $hoehe - 1,$gruen);
    imageline ($bild, 0, 0, $breite-1, 0,$blau);
    imageline ($bild, 0, 0, 0, $hoehe-2, $blau);
    $schrifthoehe = imagefontheight($font);
    $schriftbreite = imagefontwidth($font) *
    strlen($beschriftung);
    $beschriftungx = ($breite-$schriftbreite) / 2;
    $beschriftungy = ($hoehe-$schrifthoehe) / 2;
    imagestring($bild, $font, $beschriftungx, $beschriftungy, $beschriftung, $blau);
    header("Content-type: image/png");
    imagepng($bild);
    imagedestroy($bild);
    ?>

    Das Ergebnis sieht so aus :

    //Warning: Cannot add header information - headers already sent by (output started at /usr/local/httpd/htdocs/schnell24/test_gifdarstellung/ergebnis.php:11) in /usr/local/httpd/htdocs/schnell24/test_gifdarstellung/ergebnis.php on line 31
    ‰PNG  IHDRd§5S` PLTEÿÿÿ-JÍŠVIDATxœcX… 040`ŒÃWèk2L–i2L+˜V5_jÀ"ÃÅÅÅ°« ¦.¦iÌ®Hb7 hÚ ln[Å´ªk† ~2¡¸7n9ž*›¦sIEND®B`‚ //


    Woran kann das Liegen. Die GD -Lib ist verfügbar.

    Zu 2 habe ich keinen Ansatzpunkt.

    Wer kann helfen - der Dank sei Euch gewiß ;-)

  • #2
    achte mal auf Spaces vor dem Headerbefehl...

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      sorry, aber was meinst Du damit ?
      Das Script habe ich aus dem Einsteigerseminar - habe mich bisher auch nicht damit beschäftigt ...

      Kommentar


      • #4
        wenn in deinem Script (vor Header(...) )Leerzeichen vorkommen, werde diese an den Browser gesendet. dann kann PHP keine weiteren head mehr senden.

        mach einfach mal alle spaces raus

        php-Entwicklung | ebiz-consult.de
        PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
        die PHP Marktplatz-Software | ebiz-trader.de

        Kommentar


        • #5
          alle leerzeichen entfernt Fehler :
          //
          Warning: Cannot add header information - headers already sent by (output started at /usr/local/httpd/htdocs/schnell24/test_gifdarstellung/ergebnis.php:8) in /usr/local/httpd/htdocs/schnell24/test_gifdarstellung/ergebnis.php on line 28
          //

          Kommentar


          • #6
            post mal deinen code wenn er nicht so groß ist

            php-Entwicklung | ebiz-consult.de
            PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
            die PHP Marktplatz-Software | ebiz-trader.de

            Kommentar


            • #7
              Ich würde einfach mal nachschauen was in Zeile 8 passiert ... dort machst Du irgendeine Ausgabe ...
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar


              • #8
                Wenn Du nur den Teil so nimmst wie Du ihn gepostet hast und in ein php-File steckst, ohne daß davor und danach was gecodet ist, funktioniert das Skript genauso wie du es gepostet hast astrein.
                Blauer "Test" auf rotem Hintergrund mit rot grünem Border

                Kommentar


                • #9
                  mmmmm..

                  da werden doch Farben zugewiesen - oder ?

                  Kommentar


                  • #10
                    habe es auch probiert funzt - aber wie soll ich das script dann in eine html-seite einbinden ????

                    Kommentar


                    • #11
                      moin!
                      in diesem thread findest du einen download zur imglib. dort gibt es funktionen, die du verwenden kannst (skalieren und komprimieren z.b.).
                      evtl. musst du noch was anpassen. kannst mich aber jederzeit fragen dazu ...

                      http://www.php-resource.de/forum/sho...ghlight=beebob

                      Kommentar


                      • #12
                        habs gerade gefunden

                        Code:
                        <input type='image' src="test.php?$bild" name="" value="">
                        so, das war 1, kann mir auch jemand bei Punkt 2 helfen ??

                        danke für den tipp zu 2 - sehe mal nach ...
                        Zuletzt geändert von hinni; 16.08.2002, 15:20.

                        Kommentar


                        • #13
                          siehe oben - suche in der lib die funktion imageScale() .. hoffe, du verwendest die gd-lib ...

                          Kommentar


                          • #14
                            Danke, hab sie schon mal runtergeladen und kurz reingesehen - muß jetzt dringend los .....

                            Sonniges Wochenende !!!

                            Kommentar


                            • #15
                              danke, fleichgalls

                              Kommentar

                              Lädt...
                              X