Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit imageCreate()

Einklappen

Neue Werbung 2019

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

  • Probleme mit imageCreate()

    hallo Leute,

    ich wollte mich mal an den funktionen rund um imageCreate() probieren...

    aber irgendwie will es nicht so wie ich

    PHP-Code:
    <?php

    session_start
    ();

    $bild $_SESSION['image'];

    $image imageCreateFromJPEG('$bild');

    if (!
    $image)
        {
        
    $image imagecreatetruecolor(400,300);
        
    $bg imageColorAllocate($image,51,102,153);
        }

    header('Content-Type: image/jpg');    
    imageJPEG($image);
    imageDestroy($image);


    ?>
    und hier ist mein fehler:
    • Warning: imagecreatefromjpeg($bild): failed to open stream: No such file or directory in e:\php\test\bild.php on line 6

      Warning: Cannot modify header information - headers already sent by (output started at e:\php\test\bild.php:6) in e:\php\test\bild.php on line 14
      ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!222222222222222222222222222222222222222222222 22222ÿÀ,"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3 br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ× ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvw xyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓ ÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ùþŠ( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š ....


    könnt ihr mir einen tip geben...

    ich komm da momentan nicht weiter....


    danke alisa


  • #2
    könnt ihr mir einen tip geben...
    failed to open stream: No such file or directory in e:\php\test\bild.php on line 6
    Einfach mal gucken, ob das Bild in $bild auch dort ist.

    Kommentar


    • #3
      Hi,
      vielleicht schaust du mal hier rein und spielst etwas mit den Anleitungen von WarrenFaith herum:
      Erstellung und Bearbeitung von Bildern mittels PHP

      Grüße Ben.
      privater Blog

      Kommentar


      • #4
        @CIX88

        das bild wird nicht übergeben ...

        deswegen soll ja auch der if-block ausgeführt werden.

        if (!$image)
        {
        $image = imagecreatetruecolor(400,300);
        $bg = imageColorAllocate($image,51,102,153);
        }
        @ben

        danke für den tip, schau ich mir gleich mal an...

        alisa

        Kommentar


        • #5
          das bild wird nicht übergeben ...
          So ein Blödsinn, dann musste schon alles in IF einklammern

          Und übrigens kommt deine Fehlermeldung von hier:

          $image = imageCreateFromJPEG('$bild');

          Und das steht nicht innerhalb von IF.
          Weiterhin würde ich ja nach $bild erst fragen, anstatt nach $image.

          Kommentar


          • #6
            @CIX88

            hab den code nochmals überarbeitet:

            PHP-Code:
            <?php
            header
            ("Content-Type: image/jpg");

            session_start();

            $bild $_SESSION['image'];

            @
            $image imageCreateFromJPEG('$bild');

            if (!
            $image)
                {
                
            $image imageCreateTrueColor(400300);
                
            $bg imageColorAllocate($image51102153);
                }


            imageJPEG($image);
            imageDestroy($image);

            ?>

            allerdings bekomme ich immer nur ein schwarzes bild!

            -> $bild ist noch immer leer!

            es geht mir darum das ein alternativbild erstellt wird wenn $bild nicht verfügbar ist.

            kann es sein das ich bei der farbe einen fehler hab?

            alisa

            Kommentar


            • #7
              Also ich habe keine Ahnung was du eigentlich machen willst.
              Irgendwie weist du garnicht was die einzelnen Funktion bedeuten.
              Dein PHP-Code passt hinten und vorne nicht zusammen.
              Aber da ich jetzt kein Bock habe, aus dem Handbuch zu zitieren, würde ich dich bitten mal die Grafik-Funktionen im Handbuch durchzulesen.

              Ganz speziell:
              - imageCreateFromJPEG()
              - imageCreateTrueColor()

              Solange wie das nicht klar ist, nutzen auch keine anderen Tutorials.
              Abkopieren ist das eine, verstehen das andere

              Kommentar


              • #8
                @cix88

                eigentlich ist mein ziel recht schnell und einfach erklärt:

                ich möchte ne' bildergalerie aufbauen.
                der oben gezeigte script ist noch lange nicht fertig. -> der soll aber später die einzelnen bilder groß darstellen. sollte mal eines der bilder nicht verfügbar sein, kommt dieser if-block zum einsatz womit ein alternativbild angezeigt werden soll.
                da in die anzuzeigenden bilder noch text mit eigefügt werden soll, versuche ich es auf diese weise. ich möchte das schliesslich einfach nur lernen und verstehen.

                ich kopiere mit sicherheit nicht einfach nur scripte ab. -> bringt mir ja nix.

                Kommentar


                • #9
                  Achso,
                  also mal ganz langsam:

                  allerdings bekomme ich immer nur ein schwarzes bild!
                  Das liegt daran, dass du zwar eine neue Farbe definiert hast, aber diese wird garnicht eingesetzt.

                  PHP-Code:
                  <?php
                  if (!$image
                     { 
                     
                  $image imageCreateTrueColor(400300); 
                     
                  $bg imageColorAllocate($image51102153);
                     
                  ImageFill($image00$bg);
                     } 
                  ?>
                  Mit ImageFill() wird die komplette Fläche mit der Farbe $gb gefüllt.

                  @$image = imageCreateFromJPEG('$bild');
                  Zum Unterdrücken von Fehlermeldungen ist zwar @ ganz nett, aber keine feine englische Art.
                  Prüfe mit IF ob $bild vorhanden ist, und je nachdem wird dann $image angelegt.

                  Und ein error_reporting(E_ALL); am Anfang vom Script hätte dich jetzt schon darauf hingewiesen, dass einiges undefiniert ist.

                  Kommentar


                  • #10
                    achso!!

                    na dann sollte ja alles klar sein!

                    das werd' ich doch heut abend gleich mal testen!

                    danke für die hilfe!!

                    alisa

                    Kommentar


                    • #11
                      @cix88

                      vielen dank für deine hilfe. jetzt funktioniert es wunderbar. da kann ich ja gleich weiter basteln!! ich werde wohl auch deinen rat mit dem if-block befolgen...



                      alisa

                      Kommentar


                      • #12
                        meine probleme hören einfach nicht auf:

                        jetzt wollte ich das ganze mal mit dem richtigen bild (3.jpg) testen, aber der zeigt mir nur den platzhalter für's bild an.

                        hier mal die bild.php:

                        PHP-Code:
                        <?php
                        header
                        ("Content-Type: image/jpg");

                        $bild $HTTP_GET_VARS['image'];


                        if (!
                        $bild)
                            {

                            
                        $width 500;
                            
                        $height 375;

                            
                        $image imageCreateTrueColor($width$height);                        // alternatives Bild mit Größe $width x $height
                            
                        $bg imageColorAllocate($image81119243);                        // Hintergrundfarbe definieren

                            
                        }

                        else
                            {
                            
                        $image imageCreateFromJPEG($bild'.jpg');                                // gewähltes Bild

                            
                        $groesse getimagesize("$image");
                            
                        $width $groesse[0];                                                // $width ermitteln
                            
                        $height $groesse[1];                                                // $height ermitteln
                            
                        }


                               
                        $font 5;                                                            // Schriftgröße
                            
                        $intext 'Bildnummer = ' $bild ' (C) by HUNZ UND KUNZ';                                        // Text

                            
                        $text_color imageColorAllocate($image34792);                // Textfarbe definieren

                            
                        $str_x = ($width - (imageFontWidth($font) * strLen($intext))) / 2;    // Text horizontal mittig
                            
                        $str_y = ($height imageFontHeight($font) - 5);                    // Text vertikal unten

                        if (!$bild)
                            {
                            
                        ImageFill($image00$bg);                                        // Bild mit Farbe füllen
                            
                        }

                            
                        imageString($image$font$str_x$str_y$intext$text_color);    // Text positionieren und einfügen



                        imageJPEG($image);
                        imageDestroy($image);

                        ?>

                        aufgerufen wird das ganze von einer simplen (nur zu testzwecken) bildaufruf.php:

                        PHP-Code:


                        <html>
                        <head>
                        </head>
                        <body>
                        <?php
                        print ("[img]bild.php?image=3.jpg[/img]");
                        ?>
                        </body>
                        </html>
                        alle drei dateien (2x PHP + 1x bild (3.jpg)) liegen im gleichen verzeichnis

                        ich bin ja der meinung das da bei imageCreateFromJPEG(...); irgendwas nicht passt.

                        könnt ihr mir einen tip geben??

                        alisa

                        Kommentar


                        • #13
                          also der script von bild.php funktioniert schonmal. ich hab jetzt mal die anweisung vom if-block mit der anweisung von else vertauscht. -> soll bedeuten php soll das alternativ-bild zeigen wenn $bild einen wert enthält.

                          $bild wird auch defenitiv korrekt übergeben, denn $bild ist im einzufügenden text enthalten.

                          habt ihr denn ne' idee was da verkehrt läuft??

                          also ich bin jetzt echt am verzweifeln ...

                          alisa

                          Kommentar


                          • #14
                            hab mein problem gelöst!!! :P

                            der script in bild.php war falsch

                            hier ist der richtige (komplette bild.php)

                            PHP-Code:
                            <?php
                            header
                            ("Content-Type: image/jpg");

                            $bild $HTTP_GET_VARS['image'];
                            $nummer $bild+1;

                                
                            $image = @imageCreateFromJPEG("$bild.jpg");                                // gewähltes Bild

                            if (!$image)
                                {
                                
                            $width 500;
                                
                            $height 375;

                                
                            $image imageCreateTrueColor($width$height);                        // alternatives Bild mit Größe $width x $height
                                
                            $bg imageColorAllocate($image81119243);                        // Hintergrundfarbe definieren
                                
                            ImageFill($image00$bg);                                        // alternatives Bild mit Farbe füllen
                                
                            }




                                   
                            $font 5;                                                            // Schriftgröße
                                
                            $intext 'Bildnummer = ' $nummer ' (C) by HUNZ UND KUNZ';                                        // Text

                                
                            $text_color imageColorAllocate($image34792);                // Textfarbe definieren

                                
                            $str_x = (imagesx($image) - (imageFontWidth($font) * strLen($intext))) / 2;    // Text horizontal mittig
                                
                            $str_y = (imagesy($image) - imageFontHeight($font) - 5);                    // Text vertikal unten

                                
                            imageString($image$font$str_x$str_y$intext$text_color);    // Text positionieren und einfügen



                            imageJPEG($image);
                            imageDestroy($image);

                            ?>
                            genauer gesagt folgende zeilen:

                            PHP-Code:
                            <?php
                               $str_x 
                            = ($width - (imageFontWidth($font) * strLen($intext))) / 2;   // Text horizontal mittig 
                               
                            $str_y = ($height imageFontHeight($font) - 5);               // Text vertikal unten 

                            ?>
                            muß lauten:

                            PHP-Code:
                            <?php
                            $str_x 
                            = (imagesx($image) - (imageFontWidth($font) * strLen($intext))) / 2;    // Text horizontal mittig
                                
                            $str_y = (imagesy($image) - imageFontHeight($font) - 5);                    // Text vertikal unten

                            ?>
                            oh man, bin zufrieden

                            Kommentar

                            Lädt...
                            X