Thumbnails mit Rand erzeugen

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

  • Thumbnails mit Rand erzeugen

    Hi,

    habe eine Frage zu den GD-Library Funktionen.

    Habe in einem Bildergallery-Script gesehen, die erstellten Thumbnails für die Vorschau haben je nach bild (hochformat oder querformat) weiße Ränder links und rechts bzw. oben und unten.

    Mit welche Funtkion kann man denn so etwas machen?

    Danke

  • #2
    Re: Thumbnails mit Rand erzeugen

    Mit welche Funtkion kann man denn so etwas machen?
    mit den gängigen image-funktionen, mit denen du auch sonst thumbnails erzeugst!?

    nur mal fix ohne comment rauskopiert ...
    PHP-Code:
    // berechnet neue höhe aus vorher definierter proportion ... < 150
    $newHeight floor(150 $proportion); 
    // berechnet die y-pos der linken, oberen ecke des thumbs in dem quadratischen thumb
    $newYPos floor((150 $newHeight)/2);
    // bild erstellen
    $newHandle imagecreatetruecolor(150150);
    // farbe
    $color imagecolorallocate($newHandle236235220);
    // füllen
    imagefill($newHandle00$color);
    // kopiert bild verkleinernd in den thumb
    imagecopyresampled($newHandle$handle0$newYPos00150$newHeight$ImageInfo[0], $ImageInfo[1]);
    // erzeugen
    imagejpeg($newHandle'images/thumbs/'.session_id().$id.'.jpg'60);
    // zerstören
    imagedestroy($newHandle);
    // zerstören
    imagedestroy($handle); 
    du berechnest die zweite dimension wie immer, kreierst aber ein quadratisches bild. den thumb packst du dann an die passende stelle ...

    das meintest du doch, oder?

    edit: mal angenommen, das bild ist breiter als hoch. die position berechnet sich aus der thumb-höhe (150) minus der höhe des verkleinerten bildes (errechnet aus 150 / verhältnis von breite zu höhe) durch 2 ...

    beispiel:
    - original ist 1500 x 1000
    - thumb ist 150 x 150
    - original verkleinert wäre 150 x 100
    - (150 - 100) / 2 = 25 = y-pos des bildes
    - thumb wird kopiert, füllt gesamte breite aus, beginnt bei y = 25, geht bis 125 => abstand oben wie unten 25 (naja, ungefähr )

    Zuletzt geändert von derHund; 12.01.2005, 08:10.
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Ja so etwas habe ich gemeint.

      Da ich aber noch nicht so vertraut bin mit den ganzen Funktionen habe ich noch etwas Schwierigkeiten mit dem Ablauf.
      Ab wann beginnt die Syntax für die 2. Dimension?

      Kommentar


      • #4
        siehe edit.
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Vielen Dank

          Kommentar

          Lädt...
          X