Bildskalierung - bin ich zu blöd?
Nico Ueckermann
- php
0 PeterK0 Nico Ueckermann0 Till
0 Sven Rautenberg
Hallo,
ich habe hier ein kleines Skript, welches mir Bilder skaliert anzeigen soll:
<?
header("Content-type: image/jpeg");
$src_img = imagecreatefromjpeg("irgendwas/$show");
$size = getimagesize("irgendwas/$show");
$ratio=((int)($width/$size[0]*$size[1]));
$dst_img = imagecreate($width,$ratio);
imagecopyresized($dst_img,$src_img,0,0,0,0,$width,$ratio,$size[0],$size[1]);
imagejpeg($dst_img);
ImageDestroy($dst_img);
ImageDestroy($src_img);
?>
Das Problem ist, das ich immer wieder rechts und/oder unten so feine dunkle Linien in Abhängigkeit von $width bekomme:
http://www.vendeo.de/image.php?show=BZbgRQAgKwzGZr.jpg&width=150
Hat einer von euch vielleicht einen Rat?
MfG,
Nico
Warum machst du das nicht einfach mit den HTML angaben height und width im img-tag?
Warum machst du das nicht einfach mit den HTML angaben height und width im img-tag?
Weil ich dadurch bei herunterskalierten Bildern die Bandbreite des Users verschwende.
Grüße,
Nico
Weil ich dadurch bei herunterskalierten Bildern die Bandbreite des Users verschwende.
wird dir sicherleich helfen...
=> http://www.dclp-faq.de/q/q-grafik-verkleinern.html
Moin!
imagecopyresized($dst_img,$src_img,0,0,0,0,$width,$ratio,$size[0],$size[1]);
Diese Funktion ist für ein "schönes" Skalieren ziemlich unbrauchbar - sie arbeitet schnell und im Prinzip nicht anders als die Browservariante auch - nämlich häßlich. Ich vermute, deine Streifen resultieren daher, dass du immer mal wieder auf ungünstige Skalierungsverhältnisse triffst.
In den Useranmerkungen auf http://www.php.net zu diesem Befehl stehen alternative Funktionen und Tipps, wie man "schön" (aber langsamer) skalieren kann.
- Sven Rautenberg