Jump to content

[solved]Nicht quadratische Thumbnail-Bilder?


Recommended Posts

Hallo!

 

Ich hatte das Problem zwar früher schon einmal gelöst (unter Prestashop 1.3). Bevor ich den damals verwendeten Fix aber nun in Prestashop 1.4 einbaue, wollte ich mich erkundigen, ob mittlerweilen nicht doch eine bessere Lösung exisitiert.

 

Es geht um das erstellen von nicht quadratischen Vorschaubildern (bzw. um das beibehalten der Proportionen). Ich möchte die Bilder auch nicht mit transparentem Hintergrund, sondern wirklich in den selben Proportionen wie das Original-Bild.

 

Unter Prestashop 1.3 musste ich dafür das images.inc.php ändern. Genauer gesagt die Funktion imageResize.

 

Hat jemand einen Tipp, wie ich das etwas "schöner" bewerkstelligen kann? Gibts unter Prestashop 1.4 nicht eine Einstellungsmöglichkeit dafür?

 

Vielen Dank & Gruss

Marcel

Link to comment
Share on other sites

Nein. An der Erstellung der Bilder hat sich nichts geändert, bis auf eine kleine Verbesserung in der Qualität. Die Proportionen kannst du, so wie auch in der Version 1.3. schon selbst angeben, aber die ist nach wie vo 300 x 300 oder 150 x 300, wie du sie halt haben möchtest. "Runde" Bilder gibt es in der Fotografie auch garnicht. außer du hast 3-/4-D Objekte, aber das sind ja keine Bilder mehr.

Link to comment
Share on other sites

Unter Prestashop 1.3 habe ich folgende imageResize-Funktion erfolgreich verwendet. Die standardmässige habe ich ersetzt: (Beschrieben in irgend einem Forum.)

 

function imageResize($sourceFile, $destFile, $destWidth = NULL, $destHeight = NULL, $fileType = 'jpg') {

list($sourceWidth, $sourceHeight, $type, $attr) = getimagesize($sourceFile);

if (!$sourceWidth) return false;

if ($destWidth == NULL) $destWidth = $sourceWidth;

if ($destHeight == NULL) $destHeight = $sourceHeight;

require_once '../phpthumb/ThumbLib.inc.php';

$thumb = PhpThumbFactory::create($sourceFile);

if ($destWidth > 300 || $destHeight > 300) { // if not a thumbnail then not square

$thumb->resize($destWidth, $destHeight);

}

else {

$thumb->adaptiveResize($destWidth, $destHeight);

}

return $thumb->save($destFile);

}

 

Wenn ich die selbe Funktion aber in Prestashop 1.4 einbaue, klappts leider nicht mehr.

 

Bevor ich aber selber die neue imageResize-Funktion abändere, wollte ich fragen, ob nicht jemand bereits Erfahrung damit hatte.

 

Alles was ich möchte, ist, dass sich die Thumbnail-Bilder proportional verkleinern und nicht alle quadratisch werden. (Auch nicht als PNG mit transparentem Hintergrund, ich benötige die Bild-Proportionen für js-Zeugs.)

 

Vielen Dank für die Hilfe.

 

Gruss, Marcel

Link to comment
Share on other sites

Ach.

Die Funktion funktioniert nach wie vor, sie muss nur noch ein wenig abgeändert werden:

 

 

function imageResize($sourceFile, $destFile, $destWidth = NULL, $destHeight = NULL, $fileType = 'jpg') {

list($sourceWidth, $sourceHeight, $type, $attr) = getimagesize($sourceFile);

if (!$sourceWidth) return false;

if ($destWidth == NULL) $destWidth = $sourceWidth;

if ($destHeight == NULL) $destHeight = $sourceHeight;

require_once 'phpthumb/ThumbLib.inc.php';

$thumb = PhpThumbFactory::create($sourceFile);

$thumb->resize($destWidth, $destHeight);

return $thumb->save($destFile);

}

 

Danke trotzdem!

 

Gruss, Marcel

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...