# Thumbnails Croppen bzw Bildausschnitt

**URL:** <https://forum.shopware.com/t/thumbnails-croppen-bzw-bildausschnitt/34836>\
**Category:** Programmierung\
**Created:** [26. Februar 2016 um 10:06 UTC](https://forum.shopware.com/t/thumbnails-croppen-bzw-bildausschnitt/34836 "2016-02-26T10:06:12Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tammo](https://avatars.discourse-cdn.com/v4/letter/t/e0b2c6/32.png) [@Tammo](https://forum.shopware.com/u/Tammo)\
**Post date:** [26. Februar 2016 um 10:06 UTC](https://forum.shopware.com/t/thumbnails-croppen-bzw-bildausschnitt/34836/1 "2016-02-26T10:06:12Z")

</div>

Hallo,

gibt es eine möglichkeit, dass alle Bilder nach dem Thumbnail erstellen die gleiche Größe haben? Sprich immer gleichen AR und Breite und Höhe. Wenn Bilder dem nicht entsprechen sollen sie hochskaliert werden bzw gecropped werden.

Leider haben die Bilder im Shop bei mir alle eine Unterschiedliche Größe wenn die hochgeladenen Artikelbilder nicht alle exakt die gleiche Größe haben.

Hoffe es kann wer helfen.

Gruß

&nbsp;

Nachtrag:

Wenn ich in die /engine/Shopware/Components/Thumbnail/Generator/Basic.php in der Funktion createNewImage die&nbsp;$newSize Werte fest eintrage, haben alle Bilder die selbe Größe und es wird auch gecropped. Aber somit hat man dann immer nur die eine Größe an Thumbnails. Wieso macht er das nicht automatisch das er die Bilder alle gleich groß macht?

---

<div class="post-metadata">

**Author:** ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)\
**Post date:** [26. Februar 2016 um 16:56 UTC](https://forum.shopware.com/t/thumbnails-croppen-bzw-bildausschnitt/34836/2 "2016-02-26T16:56:45Z")

</div>

Hi,

ich denke, dass das bei vielen Kunden vielleicht auch gerade nicht gewünscht ist. Grundsätzlich kannst du den Thumbnail-Generator ja sehr gut austauschen / dekorieren, von daher sollte das gut individualisiberbar sein.

Besten Gruß,

Daniel

---

<div class="post-metadata">

**Author:** ![Tammo](https://avatars.discourse-cdn.com/v4/letter/t/e0b2c6/32.png) [@Tammo](https://forum.shopware.com/u/Tammo)\
**Post date:** [26. Februar 2016 um 17:46 UTC](https://forum.shopware.com/t/thumbnails-croppen-bzw-bildausschnitt/34836/3 "2016-02-26T17:46:44Z")

</div>

Danke, habe es nun abgewandelt, so dass die Bilder mittig gecropped werden.

Für Interessierte:

&nbsp;

&nbsp; &nbsp; private function createNewImage($image, $originalSize, $newSize, $extension)  
&nbsp; &nbsp; {  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$original\_aspect = $originalSize[‚width‘] / $originalSize[‚height‘];  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$thumb\_aspect = $newSize[‚width‘] / $newSize[‚height‘];  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if ( $original\_aspect \>= $thumb\_aspect )  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; // If image is wider than thumbnail (in aspect ratio sense)  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; $new\_height = $newSize[‚height‘];  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; $new\_width = $originalSize[‚width‘] / ($originalSize[‚height‘] &nbsp;/ $newSize[‚height‘]);  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;else  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; // If the thumbnail is wider than the image  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; $new\_width = $newSize[‚width‘];  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; $new\_height = $originalSize[‚height‘] / ($originalSize[‚width‘] / $newSize[‚width‘]);  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;  
&nbsp; &nbsp; &nbsp; &nbsp; $newImage = imagecreatetruecolor($newSize[‚width‘], $newSize[‚height‘]);

&nbsp; &nbsp; &nbsp; &nbsp; if (in\_array($extension, [‚jpg‘, ‚jpeg‘])) {  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $background = imagecolorallocate($newImage, 255, 255, 255);  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; imagefill($newImage, 0, 0, $background);  
&nbsp; &nbsp; &nbsp; &nbsp; } else {  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Disables blending  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; imagealphablending($newImage, false);  
&nbsp; &nbsp; &nbsp; &nbsp; }  
&nbsp; &nbsp; &nbsp; &nbsp; // Saves the alpha informations  
&nbsp; &nbsp; &nbsp; &nbsp; imagesavealpha($newImage, true);  
&nbsp; &nbsp; &nbsp; &nbsp; // Copies the original image into the new created image with resampling  
&nbsp; &nbsp; &nbsp; &nbsp; imagecopyresampled(  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $newImage,  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $image,  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;  
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;0 - ($new\_width - $newSize[‚width‘]) / 2, // Center the image horizontally  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0 - ($new\_height - $newSize[‚height‘]) / 2, // Center the image vertically  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0, 0,  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $new\_width, $new\_height,  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $originalSize[‚width‘],  
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $originalSize[‚height‘]  
&nbsp; &nbsp; &nbsp; &nbsp; );

&nbsp; &nbsp; &nbsp; &nbsp; return $newImage;  
&nbsp; &nbsp; }

---

<div class="post-metadata">

**Author:** ![klxm](https://avatars.discourse-cdn.com/v4/letter/k/eb9ed0/32.png) [@klxm](https://forum.shopware.com/u/klxm)\
**Post date:** [6. März 2018 um 11:24 UTC](https://forum.shopware.com/t/thumbnails-croppen-bzw-bildausschnitt/34836/4 "2018-03-06T11:24:53Z")

</div>

Hallo,&nbsp;

wo muss das hin?

---

<div class="post-metadata">

**Author:** ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)\
**Post date:** [6. März 2018 um 11:36 UTC](https://forum.shopware.com/t/thumbnails-croppen-bzw-bildausschnitt/34836/5 "2018-03-06T11:36:50Z")

</div>

In ein Plugin deiner Wahl 🙂

Viele Grüße
