Seite 1 von 1

Anpassung der Bildgröße

Verfasst: 16.06.2009, 00:18
von drkey
Hallöchen,

leider konnte ich bezüglich der Anpassung der Bildgröße nichts finden. Und zwar habe ich das Problem, dass wenn ich ein Produktbild reinstelle, es aber mehr oder weniger im Querformat ist, dass es den Rahmen der Seite sprengt und das im wahrsten Sinne des Wortes. Wenn ich jedoch eine maximale Breitenangabe mache, habe ich das Problem in der Höhe. Wie kann ich das umgehen? Besteht die Möglichkeit ein vorhandenes unentdecktes Feature zu nutzen, um zum beispiel stets Quadratische Bilder zu verwenden, in dem das Bild mit einer maximalen Breite oder Höhe auf einen weißen Hintergrund gelegt wird?

Beste Grüße,
Dennis

Verfasst: 16.06.2009, 03:37
von r23
Hallo,
zum beispiel stets Quadratische Bilder zu verwenden, in dem das Bild mit einer maximalen Breite oder Höhe auf einen weißen Hintergrund gelegt wird
über den Admindefiniert man die kleinen Bilder als Quatrat. Beipsiel 110 x 110
Breite kleine Bilder : 110
Höhe kleine Bilder: 110

in dem das Bild mit einer maximalen Breite oder Höhe

Bildbearbeitung kleines Bild 1 // Bild wird proportional verkleinert in das neue Bild kopiert

=> shop - konfiguration => bildbearbeitung

hth

r23

Verfasst: 19.06.2009, 01:34
von drkey
Super geile Funktion und vielen Dank für den Support! Dann habe ich noch eine Frage:

Gibt es die Möglichkeit für alle meine Bilder eine neue Berechnung zu veranlassen, da ich ja nun 300 + weitere Produktbilder habe?

Beste Grüße,
Dennis

Verfasst: 19.06.2009, 14:22
von r23
Hallo,


[quote='drkey',index.php?page=Thread&postID=1174#post1174]
Gibt es die Möglichkeit für alle meine Bilder eine neue Berechnung zu veranlassen,
da ich ja nun 300 + weitere Produktbilder habe?
[/quote]

Wenn keine Bildbearbeitungssoftware vorhanden ist? kann man sich ein Script schreiben

man kopiertzu die 300 + bilder in ein verzeichnis.

Code: Alles auswählen

      $folder = opendir(OOS_GALLERY_PATH ."images");
      while($file = readdir($folder)) {
        if ($file == '.' || $file == '..' || $file == 'CVS' || $file == '.svn') continue;
          $files[$file] = $file;
        }
      }
      closedir($folder);

      foreach($files as $key => $value) {
          if (createThumb($key)){
           // print "- Created Thumbnail for: $key<br>";
          }
      }

und die Funktion createThumb erstellt man sich aus der

~/shop/admin/includes/functions/function_image_resize.php

Code: Alles auswählen

function createThumb($pic) {

.
.
.

             // Bild wird proportional verkleinert in das neue Bild kopiert
             if ($new_width > 0)  $x = $new_width / $width;
             if ($new_height > 0) $y = $new_height / $height;

             if (($y > 0 && $y < $x) || $x == 0) $x = $y;
             $width_big = $width * $x;
             $height_big = $height * $x;

             if ($new_width > 0 && $new_width > $width_big)  {
               $dst_width = $new_width;
             } else { 
               $dst_width = $width_big;
             }
             if ($new_height > 0 && $new_height > $height_big) {
               $dst_height = $new_height;
             } else {
               $dst_height = $height_big;
             }
             // copy new picture into center of $dst_img
             if ($dst_width > $width_big) {
               $dstX = ($dst_width - $width_big)/2;
             } else {
               $dstX = 0;
             }
             if ($dst_height > $height_big) {
               $dstY = ($dst_height - $height_big)/2;
             } else {
              $dstY = 0;
             }


               $dst_img = imagecreatetruecolor($dst_width,$dst_height);
               $colorallocate = ImageColorAllocate ($dst_img, OOS_IMAGE_BGCOLOUR_R, OOS_IMAGE_BGCOLOUR_G, OOS_IMAGE_BGCOLOUR_B);
               imagefilledrectangle($dst_img,0,0,$dst_width,$dst_height,$colorallocate);
               imagecopyresampled($dst_img,$src_img,$dstX,$dstY,0,0,$width_big,$height_big,imagesx($src_img),imagesy($src_img));
.
.
.
}
Skripte im Forum sind nicht gepüft und nciht getestet. Wenn man lauffähige Scripte wünscht, kann man den Autor des Posting (hier mich)
anschreiben und einen Auftrag erteilen.

cu

ralf