Moin,
Veranstaltungen in Listen zeigen das verkleinerte Logo des Veranstalters oder des Events.
Bisher konnten in meinem Projekt nur hochgeladene jpg Bilder verkleinert werden, also nichts mit transparentem Hintergrund, der für Logos notwendig wäre. Das habe ich dann einzeln mit Gimp gemacht.
Habe mich gestern einen halben Tag damit bechäftigt, auch gif und png zu schrumpfen.
Einmal drüber geschlafen, erscheint es mir unlogisch, ein neues Bild mit den gewünschten Maßen zu kreiren, den (immer?) schwarzen Hintergrund transparent zu machen und dann das vorhandene große Bild dort hineinzukopieren.
Wobei dann schwarz verstümmelt wird:
So habe ich es gemacht:
// 2019-11-15
switch ( $type ) {
case IMAGETYPE_PNG:
// erzeuge leeres schwarzes Bild in Zielgroesse 32 Bit/Pixel
$destin = imagecreatetruecolor( $new_width, $new_height );
// definiere Farbe schwarz
$black = imagecolorallocate( $destin, 0,0,0 );
// Mache den Hintergrund transparent
imagecolortransparent( $destin, $black );
// zu verkleinerndes Bild laden
$source = imagecreatefrompng( $source_pic );
// Skalieren
imagecopyresized ( $destin, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height );
// imagecopyresampled( $destin, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height ); // hat Raender um Buchstaben "berkach"
// Ausgabe qualitaet 0 (keine Kompression) .. 9
imagepng( $destin, $destination_pic, 6 );
break;
...
Geht das einfacher und qualitativ besser?
Gruß Linuchs