Ankündigung

Einklappen
Keine Ankündigung bisher.

Mit PHP dynamisch Bilder erstellen

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #31
    Header("Content-Type: image/png");
    Hmmm, wenn du das Bild NUR abspeichern willst, brauchste kein Header().

    imagePNG($img);
    ImagePNG($img,"neues_bild.png");
    Blödsinn, bitte NUR eine Zeile nehmen:
    ImagePNG($img,"neues_bild.png")

    $farbe = ImageColorAllocate($img, $r, $g, $b);
    Was soll das ?
    Wo wird $r bis $b definiert ?

    Fehler, fehler, fehler ...
    kein wunder dass nichts speichert.

    Kommentar


    • #32
      hallo cix88,

      ich möchte nicht nur das Bild abspeichern. Es soll angezeigt werden und auf wunsch abgespeichert. (dafür wollte ich mir noch eine IF anweisung einbauen). Aber befor das abspeichern nicht geht bringt mir das ja auch nciht viel.

      das $r $g $b wird über den Browser definiert. Das einfärben geht auch alles. Das dumme ist nur, dass er das Bild nicht sofort abspeichern soll, sondern einmal nur anzeigen und dann halt bei bedarf später abspeichern.

      so, ich habe es nun getestet: Wenn ich für imagePNG($img); einfach nur ImagePNG($img,"neues_bild.png"); einsetzte kommt: "Diese Grafik beinhaltet Fehler" !


      Ok! Nun hat aber der ordner schreibrechte genau wie das Scipt!!!!

      Ich habe einfach

      imagePNG($img,"onlinegame/neues_bild.png");

      eingesetzt! Dabei haben alle schreibrechte .... woran könnte das noch liegen ??


      ihr könnt euch das ja gerne mal ansehen:

      http://www.gaming-board.com/test/wbb...r=200&g=0&b=25

      Code ist nun folgender:

      PHP-Code:
      <?php

      Header
      ("Content-Type: image/png"); 
      $filename 'fill';
      require(
      './global.php');

      error_reporting(E_ALL);

      //RX 8 Tuning!
      if($id=='rx8'){

      $img imagecreateFromPNG('rx8.png');

      $black ImageColorAllocate($img000);
      $farbe ImageColorAllocate($img$r$g$b);

      imagefilltoborder($img3070$black$farbe);
      imagefilltoborder($img5050$black$farbe);
      imagefilltoborder($img8144$black$farbe);
      //noch einige fills die ich aus Übersichtlichkeitsgründen mal raus lasse



      //imagePNG($img); 
      imagePNG($img,"neues.png"); 
      }

      imageDestroy($img);

      ?>

      Kommentar


      • #33
        Hmmmm, machst da ja kompliziert.

        Hier würde ich das Bild zunächst als TMP abspeichern.
        Damit ist es erstmal vorhanden.

        Wenn du das Bild nun unter einen bestimmten Namen speichern willst, brauchste doch blos noch das TMP-File nehmen und mit neuen Namen speichern.

        Bei jedem Scriptaufruf, löschte erst das TMP-File, damit wird verhindert, dass nicht zufällig ein altes TMP-File vorahden ist.

        Und über IF etc. kannste dann auch festlegen, ob TMP als bestimmten Namen speichern oder löschen - fertig.

        Viel zu kompliziert ...

        PS: BIld sieht gut aus

        Kommentar


        • #34
          hallo Cix88

          danke erstmal. Aber ich bin echt kein riesenprofi! WIe kann ich das teil als TMP abspeichern?
          Ich kann das bis jetzt nur mit hochgeladenen bildern, aber nicht im script. Wie heißt der befehl dazu ?

          das mit dem speichern des TMP unter neuem name sollte ich auch so hinbekommen.



          PS: Danke! Hab auch lang dran gebastelt, bis er alles im Bild so ausgefüllt hat

          Kommentar


          • #35
            entschuldigung für diesen Doppelpost, aber ich bräuchte jetzt wirklich dringens die Hilfe, denn heute muss ich damit fertig werden.


            mfg,
            Neo

            Kommentar


            • #36
              entschuldigung, dass ich dieses thema nochmal anheize. find die anleitung echt toll. möchte das hier gelernte benutzen um eine signatur in einem forum zu machen. ich habe nur das problem, dass in dem entsprechenden forum keine php dateien funktionieren. ha versucht die datei als jpg abzuspeichern oder in nem anderen grafikformat aber dann sagt er mir, dat fehler in der datei sind. kann man dem forum irgendwie vorgaukeln dat dat ne grafikdatei ist oder liegt diese fehlermeldung irgendwie an meinen server/php einstellungen?

              eine weitere frage: ich create ein image aus einem jpg. funzt ja auch. kann ich die Arbeitsfläche irgendwie vergrößern, dat ich unter das bild noch was schreiben kann oder muss ich dann zwei bilder verwenden?

              danke für eure hilfe.

              Kommentar


              • #37
                Zitat von Hippo
                kann man dem forum irgendwie vorgaukeln dat dat ne grafikdatei ist
                Joa. Das geht mittels mod_rewrite in einer .htaccess-Datei.

                Schau mal hier:
                http://phpfriend.de/ftopic37015.html
                Code:
                <IfModule mod_rewrite.c>
                RewriteEngine on
                RewriteRule /nowplaying.png /nowplaying.php
                </IfModule>
                Musste halt anpassen

                Grüße Ben.
                [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                Kommentar


                • #38
                  Hi,

                  kann mir vielleicht jemand sagen wie ich den erzeugten Text rechtsbündig ausrichten kann?

                  Kommentar


                  • #39
                    Der Thread ist zwar schon ziemlich alt, aber egal.

                    Ich experimentiere gerade bisschen mit den image-Funktionen rum.
                    Dabei fällt mir leider immer mehr auf, dass schräge Objekte sehr sehr hässliche Kanten haben, da halt wohl Pixelweise gezeichnet wird. Gibt es da irgendeine Möglichkeit sowas wie das ganze mal durch einen Anti-Aliasing-Filter laufen zu lassen, damit die Kanten glatter werden?
                    Vielleicht könnte man es mit irgendwelchen Masken machen, die dann halt auf jeden Pixel angewendet werden, auch wenn das sicher der Performance schaden würde. Hat das schonmal jemand probiert und kennt eine gute Maske? Oder ist das ein aussichtsloser Versuch?

                    Hat vielleicht jemand eine andere Idee, wie man das anstellen könnte?

                    EDIT: Habe gerade die Funktion imagealias() gefunden, die Grundsätzlich genau das macht, was ich gerne möchte ^^ Ich habe aber 2 Funktionen geschrieben, um mir gepunktete und gestrichelte Linien (mit verschieden Langen Strichen und Abständen) zu zeichnen, die den Workaround mit imagesetstyle() und imageline() verwenden. Leider ist das nicht mit der imagealias()-Funktion kompatibel (steht auch im Manual). Gibt es da einen anderen Workaround, damit das doch irgendwie geht?
                    Man könnte natürlich zuerst eine durchgezogene Linie mit der entsprechenden Farbe zeichnen und dann einzelne Pixel der Linie mit der Hintergrundfarbe wieder übermalen, aber da der Hintergrund stark variiert und ja nach dem Zeichnen der Linie nicht mehr verfügbar ist, könnte sich das als schwierig erweisen. Zudem könnten eventuell Probleme bei der genauen Berechnung der einzelnen Pixel entstehen. Ich hatte zuerst eine Funktion geschrieben, die die gepunktete Linie aus einzelnen Pixeln zeichnet, indem die Positionen berechnet werden. Gibt aber ab und an ein paar Pixel, die danebenliegen

                    Kommentar


                    • #40
                      cooler Thread.
                      Sehr hilfreich

                      Kommentar


                      • #41
                        Hallo Profis.

                        Ich habe mir dieses Tut auch mal zu gemüte gezogen und es funktioniert einwandfrei.
                        Wie bekomme ich jetzt daten aus der DB eingelesen.
                        Habe es schon mit direkter abfrage versucht, bild weg. Hab es mit extrenen script per require versucht auch da bild weg.

                        Steht dann immer da " Grafik kann nicht angezeigt werden, weil sie Fehler enthält".

                        Wie bekomme ich nun db daten eingelesen?

                        Danke

                        Kommentar


                        • #42
                          mach mal bitte in php einsteiger einen ordentlichen Post dazu - MIT deinem verwendeten Code-Ausschnitt ...

                          offenbar treten Fehler auf, wenn du die Datenbank-Daten da hinein stricken willst
                          "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

                          Kommentar

                          Lädt...
                          X