Jag har ett problem. Jag har gjort ett script som förminskar JPEG bilder med hjälp av "imagecopyresized". Problemet är bara att kvaliten på bilderna blir värdelös (se http://www.dokusapa.nu/bladdra_bilder.php?id=1&nr=2 ).
Jag hittade då en annan funktion på php.net ( http://www.php.net/manual/en/function.imagecopyresized.php ) bland kommentarerna där någon hade lagt till funktionen "imagecopyresizedbicubic" som ska ge bättre kvalitet. Info om hur man lägger till detta var dock begränsad.
Någon som har lust att beskriva hur man går till väga? Vart koden ska kopieras in och hur man komplierar om det sen.
ImageCopyResized verkar bara "pressa" ihop bilden utan tanke på att göra det snyggt :(
Kvaliten är "ok" men inte mer. Gör du samma förminskning i tex Photoshop blir resultatet enormt mycket bättre. Jag hoppas få det en del bättre genom att använda den där metoden över istället om jag kan lista ut hur man kompilerar om källkoden :)
Johan!: Vad är det för operativsystem det gäller? Vilken server?
r: Skall detta göras varje gång sidan laddas, eller skall det bara göras en gång när bilden laddas upp till server? Eventuellt skulle man kunna göra en ren PHP-lösning :)
Jämfört med t.ex. GD tycker jag att ImageMagic är rena himmelriket att använda. I det lilla exemplet ovan använda jag 'convert', allt detta kan göras -> http://www.imagemagick.org/www/convert.html
Går det att göra en bicubic interpolation of pixels lösning genom en ren php lösning?
Japp, det går bra. Kanske inte blir grymt snabb, men det skall inte vara några problem om det inte är så stora bilder och om det bara handlar om att göra det när bilden laddas upp.
Hur?
Ja, du har ju givit en kod för hur man gör en "bicubic interpolation of pixels" i C-kod oven. GD innehåller tillräckligt med funktioner för att enkelt översätta denna kod till PHP.
Men jag skulle kanske satsa på ImageMagick, den kan ju så mycket mer så den har du nog gjädje av i fler sammanhang.
/nicclas
256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2