Ich benutze WP2.0.7 und möchte die JPG Qualität der generierten Thumbnails erhöhen.
Wo kann ich dies global einstellen bzw. wo im Code muss ich einen Wert verändern?
Hat jemand einen Tip?
schöne Grüße,
Bernd
Um schreiben oder kommentieren zu können, benötigen Sie ein Benutzerkonto.
Sie haben schon ein Benutzerkonto? Melden Sie sich hier an.
Jetzt anmeldenHier können Sie ein neues Benutzerkonto erstellen.
Neues Benutzerkonto erstellenIch benutze WP2.0.7 und möchte die JPG Qualität der generierten Thumbnails erhöhen.
Wo kann ich dies global einstellen bzw. wo im Code muss ich einen Wert verändern?
Hat jemand einen Tip?
schöne Grüße,
Bernd
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
Standardmäßig ist die Qualität auf etwa 75 eingestellt.
Zitatquality is optional, and ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file). The default is the default IJG quality value (about 75).
Du findest die Funktion 'wp_create_thumbnail', welche die Thumbnails erstellt, in der Datei 'admin-functions.php' im wp-admin-Verzeichnis. Dort fast am Ende der Funktion ist für das Erstellen der JPEGs der Aufruf 'imagejpeg($thumbnail, $thumbpath)' zuständig. Hier kann als dritter Parameter die Qualität angegeben werden.
Allerdings ist wie immer bei Änderungen in den WP-Coremodulen Vorsicht geboten. Möglicherweise gibt es unvorhersehbare Seiteneffekte. Und außerdem sind die Änderungen mit dem nächsten WP-Update meist wieder verschwunden.
Gruß
Ingo
das klingt gut. ich kann diese stelle jedoch in meiner admin-functions.php jedoch nicht richtig ausmachen... Folgender Code sieht so ähnlich aus
admin-functions.php (ab Zeile 777)
$thumbnail = imagecreatetruecolor($image_new_width, $image_new_height);
@ imagecopyresampled($thumbnail, $image, 0, 0, 0, 0, $image_new_width, $image_new_height, $image_attr[0], $image_attr[1]);
// If no filters change the filename, we'll do a default transformation.
if ( basename($file) == $thumb = apply_filters('thumbnail_filename', basename($file)) )
$thumb = preg_replace('!(\.[^.]+)?$!', __('.thumbnail').'$1', basename($file), 1);
$thumbpath = str_replace(basename($file), $thumb, $file);
// move the thumbnail to it's final destination
if ($type[2] == 1) {
if (!imagegif($thumbnail, $thumbpath)) {
$error = __("Thumbnail path invalid");
}
}
elseif ($type[2] == 2) {
if (!imagejpeg($thumbnail, $thumbpath)) {
$error = __("Thumbnail path invalid");
}
}
elseif ($type[2] == 3) {
if (!imagepng($thumbnail, $thumbpath)) {
$error = __("Thumbnail path invalid");
}
}
Alles anzeigen
bin mir nicht sicher wo ich den dritten Parameter einbringen kann. Liegt es an der Version (2.0.7)?
das klingt gut. ich kann diese stelle jedoch in meiner admin-functions.php jedoch nicht richtig ausmachen... Folgender Code sieht so ähnlich aus
admin-functions.php (ab Zeile 777)
Code Alles anzeigen$thumbnail = imagecreatetruecolor($image_new_width, $image_new_height); @ imagecopyresampled($thumbnail, $image, 0, 0, 0, 0, $image_new_width, $image_new_height, $image_attr[0], $image_attr[1]); // If no filters change the filename, we'll do a default transformation. if ( basename($file) == $thumb = apply_filters('thumbnail_filename', basename($file)) ) $thumb = preg_replace('!(\.[^.]+)?$!', __('.thumbnail').'$1', basename($file), 1); $thumbpath = str_replace(basename($file), $thumb, $file); // move the thumbnail to it's final destination if ($type[2] == 1) { if (!imagegif($thumbnail, $thumbpath)) { $error = __("Thumbnail path invalid"); } } elseif ($type[2] == 2) { if (![B]imagejpeg($thumbnail, $thumbpath, [COLOR=Red]100[/COLOR])[/B]) { $error = __("Thumbnail path invalid"); } } elseif ($type[2] == 3) { if (!imagepng($thumbnail, $thumbpath)) { $error = __("Thumbnail path invalid"); } }bin mir nicht sicher wo ich den dritten Parameter einbringen kann. Liegt es an der Version (2.0.7)?
Genau, die Stelle ist schon richtig. Hab das oben im Code mal hervorgehoben. Ich habe das allerdings selbst nicht getestet, sollte aber funktionieren.
Gruß
Ingo
2.5.1
Ich habe den Beitrag nochmal vorgeholt, weil ich das selbe Problem mit der Qualität der Thumbnails habe. Ich brauche die Vorschaubilder in 100% Qualität. Der Beitrag und alles was ich im Netz fand - zB SteveJamieson.com » WordPress Thumbnails beziehen sich auf ältere WP Versionen. Ich nutze 2.5.1 und da sind offensichtlich die Einstellungen ganz woanders vorzunehmen, nur wo? Ich suche hier schon seit geraumer Zeit aber finde keine Datei wo entsprechender Code enthalten ist. Weiß da jemand Rat?
Beste Grüße Holger
Ja danke, aber wo muss ich das eintragen?
Du müsstest dafür ein eigenes Plugin anlegen. Leg dir eine [COLOR=Black]my_jpeg_quality.php an und setze folgende rein:[/COLOR]
<?php
/*
Plugin Name: My JPEG Quality
Plugin URI: http://www.deine_url.de/
Description: Setzt die JPEG Qualität auf 100%
Version: 0.1
Author: xxxx
Author URI: http://www.deine_url.de/
*/
function my_jpeg_quality( $quality ) {
return 100;
}
add_filter( 'jpeg_quality', 'my_jpeg_quality' );
?>
Alles anzeigen
[COLOR=Black]Die [/COLOR][COLOR=#000000][COLOR=#0000cc][COLOR=Black]my_jpeg_quality.php lädst Du dann in Deinen Plugin-Ordner hoch.[/COLOR]
[/COLOR][/COLOR]
Naja, wegen jedes Dreizeilers gleich ein Plugin schreiben, das muß auch nicht sein. Ich haue solche Sachen zunächst immer in die my-hacks.php rein.
Wenn dann mal mehrere thematisch zusammenpasende Funktionen aufgelaufen sind, kann man sie ja immer noch in ein Plugin packen. Oder man macht sich gleich eine Art Sammelplugin für Kleinkram. Sowas habe ich auch.
Gruß
Ingo
Danke Euch erstmal für die Tipps, ich werd das mal probieren :)
ich benutze wp 2.7.1 und da gibt´s bei den thumbs irgendwo ´ne einstellung zur qualität. hab da 100% stehen - allerding sehen die thumbs trotzdem irgendwie verpixelt aus. bzw scheine sie kein antialiasing zu haben. bei S/W- kontrast sieht man das doch recht stark... ist das normal? oder brauch ich aus so eine my_jpeg_quality.php?
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!