Ankündigung

Einklappen
Keine Ankündigung bisher.

max. Bildgröße bestimmen

Einklappen

Neue Werbung 2019

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

  • max. Bildgröße bestimmen

    Guten Morgen,

    Heute mal wieder was was sicher schon hundert mal gefragt wurde.
    Ich hab zwar die Suchfunktion schon 2 tage geärgert. aber nicht so wirklich das richtige gefunden.

    folgendes Prob.:

    Ich lese aus einer DB ein Bild ( pfad) aus. und gebe dieses aus.

    nun kann es aber sein das, dass Bild sehr groß ist. ich möchte aber das es eine gewisse größe bei der Anzeige nicht überschreitet.
    das heisst es müßte wenn es zugroß ist automatisch proportional verkleinert angezeigt werden.

    wie kann ich das machen?

    hat das schon wer gemacht? der mir helfen kann bitte.

    hier die momentane ausgabe:
    Code:
    if ($row_Recordset1['bild'] == "" AND $row_Recordset2['saison'] == "sommer")
    			{ 
    			echo '[img]Beispiel.jpg[/img]';
    			}
    			if ($row_Recordset1['bild1'] >= "" AND $row_Recordset2['saison'] == "sommer")
    			{
    			echo "";
    			}
    			if ($row_Recordset1['bild'] > "" AND $row_Recordset2['saison'] == "sommer")
    			{
    			echo '[img]'.$row_Recordset1['bild'].'[/img]';
    			}
    			if ($row_Recordset1['bild1'] == "" AND $row_Recordset2['saison'] == "winter")
    			{ 
    			echo '[img]Beispiel.jpg[/img]';
    			}
    			if ($row_Recordset1['bild'] >= "" AND $row_Recordset2['saison'] == "winter")
    			{
    			echo "";
    			}
    			if ($row_Recordset1['bild1'] > "" AND $row_Recordset2['saison'] == "winter")
    			{
    			echo '[img]'.$row_Recordset1['bild1'].'[/img]';
    			}
    da möchte ich auch, dass das Bild evt. wenn nötig kleiner angezeigt wird.

    Bitte um Hilfe.

    greets JEGO
    Gruß JEGO ;-)

    Ein PHP Script tut, was Du schreibst, nicht was Du willst.

  • #2
    keiner da der weiss wie ich das anstelle?

    greets JEGO
    Gruß JEGO ;-)

    Ein PHP Script tut, was Du schreibst, nicht was Du willst.

    Kommentar


    • #3
      http://de.php.net/manual/de/function...opyresized.php

      und ab GD2.x eine verbesserte Funktion
      http://de.php.net/manual/de/function...yresampled.php

      damit solle es gehen

      gruß
      dirk
      **********************************
      Will jemand eine Jungfrau frein,
      darf er nicht penibel sein.
      (Heinz Erhardt)
      **********************************

      Kommentar


      • #4
        @Dirk Danke für die Links.

        Die kannte ich schon.

        jegoch weiß ich nicht wie ich das in meinen Code richtig rein bekomme.

        Ich möchte ja nur das er das Bild verkleinert wenn es zugroß ist.

        greets JEGO
        Gruß JEGO ;-)

        Ein PHP Script tut, was Du schreibst, nicht was Du willst.

        Kommentar


        • #5
          statt der direkten ausgabe der bilddatei, prüfst du vorher die
          bestehende bildgröße mit

          http://de.php.net/manual/de/function.imagesx.php
          und imagesy()

          und wenn die größe irgendwo nicht passt, verkleinerst du das bild eben und gibst es dann aus.
          oder hab ich die frage falsch verstanden?

          gruß
          dirk
          **********************************
          Will jemand eine Jungfrau frein,
          darf er nicht penibel sein.
          (Heinz Erhardt)
          **********************************

          Kommentar


          • #6
            Du verstehst das schon richtig.

            kannst du mir bei der Umsetzung auch helfen?

            greets JEGO
            Gruß JEGO ;-)

            Ein PHP Script tut, was Du schreibst, nicht was Du willst.

            Kommentar


            • #7
              ohne garantie :wink:
              Code:
              <?
              //maximale bilder größe festlegen
              $bild_x_max = 80;
              $bild_y_max = 40;
              
              //aktuelle bildgröße ermitteln
              $bild_daten = getimagesize("php.jpg");
              $breite = $bild_daten[0];
              $hoehe = $bild_daten[1];
              echo "
              Originale Bildbreite: ".$breite;
              echo "
              Originale Bildhöhe: ".$hoehe;
              
              //vergleich der bilddaten
              // 1) bildbreite
              if ($breite > $bild_x_max)
                {
                $x_faktor = (($breite*100) / $bild_x_max)/100;
                $y_faktor = (($hoehe*100) / $bild_y_max)/100;
                echo "
              Faktor für neue x-Achse: ".$x_faktor;
                echo "
              Faktor für neue y-Achse: ".$y_faktor;
                //neue bildgröße berechnen:
                $x = $breite / $x_faktor;
                $y = $hoehe / $y_faktor;
                echo "
              Neue Breite : ".$x;
                echo "
              Neue Höhe : ".$y;
                }
              // 2) bildhoehe
              if ($hoehe > $bild_y_max)
                {
                $x_faktor = (($breite*100) / $bild_x_max)/100;
                $y_faktor = (($hoehe*100) / $bild_y_max)/100;
                echo "
              Faktor für neue x-Achse: ".$x_faktor;
                echo "
              Faktor für neue y-Achse: ".$y_faktor;
                //neue bildgröße berechnen:
                $x = $breite / $x_faktor;
                $y = $hoehe / $y_faktor;
                echo "
              Neue Breite : ".$x;
                echo "
              Neue Höhe : ".$y;
                }
              
              //anpassen des bildes
              
              $quelle = imagecreatefromjpeg("php.jpg");
              $neues_bild = imagecreatetruecolor($x,$y);
              imagecopyresampled($neues_bild, $quelle,0,0,0,0,$x,$y,$breite,$hoehe);
              
              ?>
              gruß
              dirk
              **********************************
              Will jemand eine Jungfrau frein,
              darf er nicht penibel sein.
              (Heinz Erhardt)
              **********************************

              Kommentar


              • #8
                @ Dirk danke für das Script. :wink:

                Mein Prob scheint heute meine lange Leitung zu sein.

                Ich bastel jetzt schon einige zeit herum. aber alles ohne erfolg.

                Sehe ich das richtig das in
                Code:
                $bild_daten = getimagesize("php.jpg");
                in denn () mein
                Code:
                $row_Recordset1['bild']
                rein muss ?

                Ich bekomme diese Abfrage einfach nicht hin.

                greets JEGO
                Gruß JEGO ;-)

                Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                Kommentar


                • #9
                  Zitat von JEGO
                  Sehe ich das richtig das in
                  Code:
                  $bild_daten = getimagesize("php.jpg");
                  in denn () mein
                  Code:
                  $row_Recordset1['bild']
                  rein muss ?

                  Ich bekomme diese Abfrage einfach nicht hin.

                  greets JEGO
                  wenn in $row_recordset1['bild'] die bilddatei drin steht: ja!!

                  probiers einfach aus.
                  ich hab die funktion auch noch nie im einsatz gehabt.
                  wird schon klappen!!

                  dirk
                  **********************************
                  Will jemand eine Jungfrau frein,
                  darf er nicht penibel sein.
                  (Heinz Erhardt)
                  **********************************

                  Kommentar


                  • #10
                    Naja schön bunt

                    Originale Bildbreite:
                    Originale Bildhöhe:
                    Warning: imagecreatetruecolor(): Invalid image dimensions in F:\Internet\24tourist\test\test.php on line 70

                    Warning: imagecopyresampled(): supplied argument is not a valid Image resource in F:\Internet\24tourist\test\test.php on line 71
                    the Line 69 - 72
                    Code:
                    $quelle = imagecreatefromjpeg($row_Recordset1['bild']); 
                    $neues_bild = imagecreatetruecolor($x,$y); 
                    imagecopyresampled($neues_bild, $quelle,0,0,0,0,$x,$y,$breite,$hoehe); ?>
                    <?php
                    greets JEGO
                    Gruß JEGO ;-)

                    Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                    Kommentar


                    • #11
                      Ich würde mich freuen wenn Ihr euch bei meinem Prob. auch so zahlreich beteiligen würdet.

                      Aber nur bitte mit Sinvollen Antworten.

                      greets JEGO :wink:
                      Gruß JEGO ;-)

                      Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                      Kommentar


                      • #12
                        Zitat von JEGO
                        Aber nur bitte mit Sinvollen Antworten.
                        greets JEGO :wink:
                        das wird schwer.
                        von der anzahl der antworten her müssten wir schon lange im off-topic sein.
                        aber das kommt noch automatisch

                        was steht denn drin in deiner variablen $row_Recordset1['bild'] ?
                        wie gesagt ich kenn mich nicht so gut aus, aber was ist denn wenn
                        du den inhalt der variablen $row_Recordset1['bild'] erstmal in eine hilfsvariable übergibst und diese zum testen mit "echo " auf dem bildschirm ausgibst?
                        wenn da das richtige erscheint, kannst du zum weitertesten die hilfsvariable
                        mal hier einsetzen $quelle = imagecreatefromjpeg($hilfsvariable);

                        ist umständlich, aber so drösel ich mir meistens alles auf, bis es so klappt wie ich es will.
                        gruß
                        dirk
                        **********************************
                        Will jemand eine Jungfrau frein,
                        darf er nicht penibel sein.
                        (Heinz Erhardt)
                        **********************************

                        Kommentar


                        • #13
                          Da wird der Name des bildes Ausgegeben.z.b. beispiel.jpg

                          greets JEGO
                          Gruß JEGO ;-)

                          Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                          Kommentar


                          • #14
                            pic.php:
                            Code:
                            <?php
                            $s = getimagesize($img);
                            $breite = $s[0];
                            $höhe = $s[1];
                            if($s[1] >= $s[0])
                             {
                            	if($höhe >= $size AND $size != 0)
                            	 {
                            		$breite=(int)$breite/($höhe/$size);
                            	 	$höhe=$size;
                            	 }
                             }
                            elseif($s[0] >= $s[1])
                             {
                            	if($size != 0 AND $breite >= $size)
                            	 {
                            		$höhe=(int)$höhe/($breite/$size);
                            		$breite=$size;
                            	 }
                             }
                            $a = imagecreatefromjpeg($img); 
                            $b = imagecreatetruecolor($breite, $höhe); 
                            imagecopyresized($b, $a, 0, 0, 0, 0, $breite, $höhe, $s[0], $s[1]); 
                            imagejpeg($b); 
                            ImageDestroy($a); 
                            ImageDestroy($b); 
                            ?>

                            deine_seite.php

                            Code:
                            <?php
                            $maxsize = 150; //maximale px
                            echo "<img src=\"pic.php?img=$row_Recordset1['bild']&size=$maxsize\">";
                            ?>

                            in diesen kleinen textareas is es net leicht zu schreiben *grml*

                            Kommentar


                            • #15
                              Danke vic

                              kleines Prob.
                              Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in F:\Internet\24tourist\kundenbilder\detail.php on line 195
                              the Line 192- 197
                              Code:
                              			{ 
                                           $maxsize = 150; //maximale px 
                                           echo "<img src=\"pic.php?img=$row_Recordset1['bild']&size=$maxsize\">"; 
                              			}
                              			if ($row_Recordset1['bild1'] == "" AND $row_Recordset2['saison'] == "winter")
                              			{
                              greets JEGO
                              Gruß JEGO ;-)

                              Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                              Kommentar

                              Lädt...
                              X