Anpassung der Bildgröße

MyOOS hat einen Fehler, oder tut nicht das, was Ihr erwartet? Derartige "Unanehmlichkeiten" bitte hier.
Antworten
drkey
Beiträge: 12
Registriert: 12.02.2009, 23:08
Kontaktdaten:

Anpassung der Bildgröße

Beitrag 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
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag 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
drkey
Beiträge: 12
Registriert: 12.02.2009, 23:08
Kontaktdaten:

Beitrag 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
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag 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
Antworten