Sebastian!: GD Library in PHP

Hallo,

versuche grade die GD library in PHP zu benutzen. Kriege mit imagepng($Image); allerdings nur etwas derartiges hier ausgegeben:

http://pastie.org/4224528

Ich vermute mal, dass es daran liegt, dass ich anfangs kein header('Content-Type: image/png'); gesetzt habe? Falls dem so ist wie soll ich das bitte machen, wenn das Bild mitten auf einer etwas größeren Projektseite von mir generiert wird und ich nicht mitten drin im Code einfach ein header('Content-Type: image/png'); einpflanzen kann? Ich kann es auch einfach schlecht darüber reinpacken, oder?

Danke!

  1. gudn tach!

    wie soll ich das bitte machen, wenn das Bild mitten auf einer etwas größeren Projektseite von mir generiert wird und ich nicht mitten drin im Code einfach ein header('Content-Type: image/png'); einpflanzen kann?

    * image generieren
    * image auf server als datei abspeichern
    * datei ganz normal ueber <img ...>  einbinden

    oder?

    prost
    seth

    1. hi,

      * image generieren
      * image auf server als datei abspeichern
      * datei ganz normal ueber <img ...>  einbinden

      naja, wäre eine möglichkeit, für captchas wäre das aber sehr nervig oder?
      Du kannst als Bildpfad auch eine php angeben.
      Das macht man z.b. so wenn man Bilder immer mit unterschiedlicher breite hat aber immer auf eine feste breite resized ausgeben möchte, die an verschiedenen stellen unterschiedlich ist. Dann wäre es doof, wenn man von hand 10 größen anlegen muss. Da wäre es ja einfacher das über eine php generieren (und cachen) zu lassen.

      Aber ja, einbinden über img ist schon der richtige weg.
      Ginge aber auch über background z.b. eines divs oder bei html5 aus spaß über <foto> ;)

      Gruß Niklas

      --
      Man muss nicht alles wissen, man sollte aber wissen, wo das nicht gewusste zu finden ist.
      1. gudn tach!

        * image auf server als datei abspeichern

        naja, wäre eine möglichkeit, für captchas wäre das aber sehr nervig oder?

        ja, richtig. macht eher bei (einer geringen anzahl an) statischen bildern sinn.

        Du kannst als Bildpfad auch eine php angeben.

        stimmt. guter hinweis.

        [...] Da wäre es ja einfacher das über eine php generieren (und cachen) zu lassen.

        wie lauft das bei php mit dem cachen? automatisch?

        prost
        seth

        1. Tach!

          [...] Da wäre es ja einfacher das über eine php generieren (und cachen) zu lassen.
          wie lauft das bei php mit dem cachen? automatisch?

          Nö. Beim Server cacht nichts, wenn du nichts eingerichtet hat. Der Client cacht nach seinen Möglichkeiten und wie es ihm durch eventuelle Header empfohlen wird.

          dedlfix.

          1. gudn tach!

            [...] Da wäre es ja einfacher das über eine php generieren (und cachen) zu lassen.
            wie lauft das bei php mit dem cachen? automatisch?

            Nö. Beim Server cacht nichts, wenn du nichts eingerichtet hat. Der Client cacht nach seinen Möglichkeiten und wie es ihm durch eventuelle Header empfohlen wird.

            um den client geht's mir nicht. klar, das ist eher browsersache. mir geht's um das serverseitige cachen. wenn's da naemlich nichts einfaches, huebsches fuer gibt, dann ist das manuelle cachen durch simples internes datei-abspeichern nicht notwendig eine sinnlose option.

            prost
            seth

            1. Tach!

              Beim Server cacht nichts, wenn du nichts eingerichtet hat.
              wenn's da naemlich nichts einfaches, huebsches fuer gibt, dann ist das manuelle cachen durch simples internes datei-abspeichern nicht notwendig eine sinnlose option.

              Ja, wenn du einen Anwendungsfall hast, der diese Grafik mehrfach benötigt. Dass der OP die erzeugte Grafik einzubetten versucht, deutet mir eher auf eine nicht aufhebenswerte Grafik hin.

              dedlfix.

              1. hi,

                es gibt da eine tolle datei, die das alles macht.
                verkleinern, cachen, ...
                Such mal nach // Smart Image Resizer
                ich glaub version 1.4 oder so
                Hat tolle Funktionen auch cropratio usw.

                3 Beispielaufrufe dafür:

                // Resizing a JPEG:  
                // <img src="/image.php/image-name.jpg?width=100&amp;height=100&amp;image=/path/to/image.jpg" alt="Don't forget your alt text" />  
                  
                // Resizing and cropping a JPEG into a square:  
                // <img src="/image.php/image-name.jpg?width=100&amp;height=100&amp;cropratio=1:1&amp;image=/path/to/image.jpg" alt="Don't forget your alt text" />  
                  
                // Matting a PNG with #990000:  
                // <img src="/image.php/image-name.png?color=900&amp;image=/path/to/image.png" alt="Don't forget your alt text" />
                

                Gruß Niklas

                --
                Man muss nicht alles wissen, man sollte aber wissen, wo das nicht gewusste zu finden ist.
  2. Tach!

    [...] wie soll ich das bitte machen, wenn das Bild mitten auf einer etwas größeren Projektseite von mir generiert wird und ich nicht mitten drin im Code einfach ein header('Content-Type: image/png'); einpflanzen kann?

    Bilder werden in HTML (darum geht es vermutlich) über den Verweis auf die Bild-Ressource eingebunden und nicht die Bilddaten direkt eingefügt. (Das ist prinzipiell bei Inline-Images auch der Fall, nur dass der Verweis auf eine eingebettete Ressource zeigt.)

    dedlfix.