Ankündigung

Einklappen
Keine Ankündigung bisher.

problem mit bilddarstellung. bild einfach zusammenschneiden?

Einklappen

Neue Werbung 2019

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

  • problem mit bilddarstellung. bild einfach zusammenschneiden?

    ich habe f�r unseren modellsportclub eine seite erstellt. funktioniert auch alles soweit sogut.

    auf der seite models.php werden alle modelle angezeigt mit einer kurzinfo dar�ber. das schaut auch super aus wenn die bilder BREITER sind als HOCH.
    sonst ist der raum daneben so leer:

    http://www.msgu.at/index.php?SID=&cont=models.php

    kann ich es irgendwie realisieren dass php das bild zusammenschneidet?
    sprich wenn das bild h�her ist als breit soll einfach aus dem bild ein definierter bereich,
    sprich breite 120 px und h�he einfach 1/3 davon rausgeschnitten werden.

    gibt es so eine m�glichkeit �berhaupt, bzw. ist sowas �berhaupt zu realisieren? ich lasse mir n�mlich hier von gd_lib schon die thumbs berechnen.

    kann ich das mit imagecopyresized() erreichen? aber wird dabei nicht das bild einfach mit den koordinaten gedehnt? oder wird es ausgeschnitten?

    ich lasse mir die thumbs so berechnen:
    PHP-Code:
    $mod_image='pfad/bild.datei';
    $mod_image_data=getimagesize($mod_image);
    if(
    $mod_image_data[2]==1)
    {
      
    $mod_image_orig imagecreatefromgif($mod_image);
      
    $mod_image_thumb imagecreatetruecolor($thumb_width$thumb_height);
      
    imagecopyresized($mod_image_thumb$mod_image_orig0000$thumb_width$thumb_height$orig_width$orig_height);
      
    imagegif($mod_image_thumb$thumb_image);

    mfg Alex

  • #2
    bei resize wird gedehnt.

    mach das mit copymerge.

    stefan
    [url=http://m7s.de/100.html]Klick mich
    [img]http://m7s.de/100.png[/img][/URL]

    [img]http://www3.stefanmaier.com/SONSTIGES/FSL/b-day.jpg[/img]

    Kommentar


    • #3
      gibts zu den beiden befehlen vielleicht ein deutsches tutorial? denn auf php.net blicke ich nicht so wirklich durch.

      möchte von einem bild wie bisher ein thumb anlegen lassen das fix 120px breit ist. das wird ja schon gemacht. dann soll aber einfach aus der mitte ein bild mit eben 120px und 100px höhe rausgeschnitten werden. wie im bild hier:

      das schwarze stellt das thumb bild dar das mit folgendem code erstellt wurde. das rote soll rausgeschnitten werden (aus der vertikalen mitte) und dann als thumb verwendet werden.

      PHP-Code:
      $mod_image='pfad/bild.datei';
      $mod_image_data=getimagesize($mod_image);
      if(
      $mod_image_data[2]==1)
      {
        
      $mod_image_orig imagecreatefromgif($mod_image);
        
      $mod_image_thumb imagecreatetruecolor($thumb_width$thumb_height);
        
      imagecopyresized($mod_image_thumb$mod_image_orig0000$thumb_width$thumb_height$orig_width$orig_height);
        
      imagegif($mod_image_thumb$thumb_image);

      wäre super wenn mir da jemand ein deutsches tutorial empfehlen könnte. danke im voraus.
      mfg Alex

      Kommentar


      • #4
        bei resize wird gedehnt.
        Ups, wie meinste denn das ?
        Meinst, es wird nur auf eine andere Größe gebracht
        Dehnen ist was anders

        Kommentar


        • #5
          http://de.php.net/manual/de/function.imagecopymerge.php

          Copy a part of src_im onto dst_im starting at the x,y coordinates src_x, src_y with a width of src_w and a height of src_h. The portion defined will be copied onto the x,y coordinates, dst_x and dst_y. The two images will be merged according to pct which can range from 0 to 100. When pct = 0, no action is taken, when 100 this function behaves identically to imagecopy() for pallete images, while it implements alpha transparency for true colour images.

          wast ist unklar?
          du lädst in src im dein bild.
          dst im ist ein vorher created bild mit der letztendlichen größe.
          dann soller ausschneiden, beginnenend mit x und y koordinate src x und y (obere linke ecke von orange) mitbreite und höhe src w un src h (breite und höhe von orange).

          das ganze dann zu 0,0 dst_x and dst_y.

          stefan
          [url=http://m7s.de/100.html]Klick mich
          [img]http://m7s.de/100.png[/img][/URL]

          [img]http://www3.stefanmaier.com/SONSTIGES/FSL/b-day.jpg[/img]

          Kommentar


          • #6
            hm... also mein beispiel:

            PHP-Code:
            <?php
            $src
            ='pfad/bild.datei';     // originales bild bsp: 600x800
            $thumb imagecreatetruecolor(120100);  // image mit der letztendlichen gr�sse erstellen
            $thumb imagecopymerge($src$thumbint dst_xint dst_yint src_xint src_yint src_wint src_hint pct);  // hier haperts noch. was genau ist was?
            // was heisst int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h und int pct? das steht da nicht wirklich beschrieben :(
            echo $thumb;   // sollte mir jetzt das erzeugte thumb mit dem ausgeschnittenen teil anzeigen oder? funktioniert aber nicht
            ?>
            mfg Alex

            Kommentar


            • #7
              verkleiner musst du das bild trotzdem erst.
              jetzt schneidest du von dem original bild etwas weg.
              wenn du englisch verstehst, sollte auch die beschreibeung kein problem sein.
              [url=http://m7s.de/100.html]Klick mich
              [img]http://m7s.de/100.png[/img][/URL]

              [img]http://www3.stefanmaier.com/SONSTIGES/FSL/b-day.jpg[/img]

              Kommentar


              • #8
                english ja. aber die abkürzungen. int? pct? int dst_x ist der punkt wo er rechts beginnt das ausgeschnittene einzufügen oder? und int dst_y wo er oben beginnt einzufügen oder?

                int src_x rechter punkt wo er beginnt auszuschneiden?
                int src_y wo er oben beginnt zu schneiden?

                int src_w wie weit er von src_x rüberschneidet?
                int src_h wie weit er von src_y runterschneidet?

                was ist int pct?
                mfg Alex

                Kommentar


                • #9
                  jap.

                  pct wäre transparenz... brauchst du ja eigentlich net.
                  nimm einfach die funktion imagecopy und lass dann das pct weg.

                  stefan
                  [url=http://m7s.de/100.html]Klick mich
                  [img]http://m7s.de/100.png[/img][/URL]

                  [img]http://www3.stefanmaier.com/SONSTIGES/FSL/b-day.jpg[/img]

                  Kommentar


                  • #10
                    hmmmmmmmmmmmm, geht sicher auch mit ImageCopyResized().
                    Nur die Berechnung ist dann etwas anders.

                    Beispiel:
                    http://www.cix88.de/cix_php/php_graf...sschnitt_2.php
                    (mit der Maus auf die große Grafik klicken)

                    Ist das selbe Prinzip ...

                    Kommentar


                    • #11
                      ok. danke. wenn ich aber noch eine schrift als copyright machen würde, dann einfach auf wert 20 oder so setzen?

                      noch eine kleine frage: scheinst ja ein profi zu sein und ich hatte bisher fast noch nichts mit bildfunktionen zu tun.

                      PHP-Code:
                      <?php
                      $foo 
                      imagecreatetruecolor (100100); // erstellt mir ein bild mit 100x100px aber noch KEIN format?
                      $jpg imagejpeg($foo);  // erstellt eine .jpg datei aus $foo welches vorher noch nix richtiges war?
                      $gif imagegif($foo); // erstellt eine .gif datei aus $foo welches vorher noch nix richtiges war?
                      ?>
                      hab ich das so richtig verstanden?
                      mfg Alex

                      Kommentar


                      • #12
                        $jpg = imagejpeg($foo); // erstellt eine .jpg datei aus $foo welches vorher noch nix richtiges war?
                        ne, nur ImageJPEG( $huhuhu ); ....

                        EDIT:

                        welches vorher noch nix richtiges war
                        Ist so nicht ganz richtig, bis zur Ausgabe liegt es im RAM vom Server.
                        Fast das selbe Prinzip wie jedes Grafikprogramm

                        Kommentar


                        • #13
                          http://de3.php.net/manual/de/function.imagejpeg.php
                          http://de3.php.net/manual/de/function.imagegif.php

                          selbsterklärend.
                          [url=http://m7s.de/100.html]Klick mich
                          [img]http://m7s.de/100.png[/img][/URL]

                          [img]http://www3.stefanmaier.com/SONSTIGES/FSL/b-day.jpg[/img]

                          Kommentar


                          • #14
                            jaja. $jpg war nur unglücklich formuliert. so war das gemeint:
                            PHP-Code:
                            <?php
                            $foo 
                            imagecreatetruecolor (100100); // erstellt mir ein bild mit 100x100px aber noch KEIN format?
                            $jpgbild_oder_irgendeinname imagejpeg($foo);  // erstellt eine .jpg datei aus $foo welches vorher noch nix richtiges war?
                            $gifbild_oder_irgendeinname imagegif($foo); // erstellt eine .gif datei aus $foo welches vorher noch nix richtiges war?
                            ?>
                            @md5hash: hab das gelesen. deshalb frage ich ja. imagecreate() erstellt ja nur eine datei in einer bestimmten grösse, keine dateispezifikation oder?

                            das wird dann durch imagejpeg oder imagegif erledigt. wollte das nur verstehen. seh ich das richtig?
                            mfg Alex

                            Kommentar


                            • #15
                              ImageDestroy() nicht vergessen

                              Verweis
                              www.php.net/ImageDestroy

                              Kommentar

                              Lädt...
                              X