![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 65 Pomógł: 9 Dołączył: 30.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wbudowane w PHP skalowanie jest kompletnie do niczego. Przy jakości 100 i tak obrazek po zmniejszeniu zostaje zmasakrowany.
Więc mam pytania. 1. Czy są jakieś inne biblioteki którymi osiągnę lepszą jakość przy zmniejszaniu? 2. Czy używając jakiś bibliotek Javy Scriptu osiągnę lepszą jakość po skalowaniu? 3. Czy istnienie możliwość takiego działania: a) pobieram obrazek formularzem na serwer B) przy wyświetlaniu skaluje go przez JS c) zapisuję ze skalowany obrazek na serwerze Jeśli tak to jak to zrobić? Wszystko ma być automatycznie. Problem mam ponieważ po wrzuceniu grafiki na serwer(max 1200x1200) jest ona skalowana do szerokości 600, lecz z zachowaniem ratio. Robi się straszna pixelizacja. A jeszcze trzeba obrazek wykadrować, wtedy już jest masakra. Proszę o pomoc. Ten post edytował Abaddor 26.11.2009, 21:29:39 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
ad 1) Biblioteki dające super efekty zapewne są, ale nie sądzę, byś mógł przez php na jakimkolwiek hostingu ich używać
![]() ad 2) Nie sądzę. Skalowanie zawsze wiąże się z utratą jakości i nic na to nie poradzisz. ad 3) A rozróżniasz gdzie się wykonuje kod php a gdzie kod js? Czy jeśli chcesz zmniejszyć obrazek to wysyłasz go do kumpla pocztą na drugim końcu Polski czy robisz to sam? To, że masz porąbaną jakość może wynikać ze złego doboru funkcji. Spróbuj zamiast imagecopyresized -> imagecopyresampled. Poza tym weź pod uwagę, że obrazy dobrze się skalują tylko na skalach będących wielokrotnością 2, każda inna zawsze zniekształci obraz o wiele bardziej, ponieważ jest obliczana wypadkowa ze znacznej ilości punktów. To prosta matma. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1) Pewnie korzystasz z biblioteki GD. Możesz jeszcze spróbować użyć ImageMagic - chociaż mógłbyś pokazać skrypt i jego rezultaty? GD całkiem dobrze z tego co pamiętam radzi sobie ze sklaowaniem.
2) Przeglądarki potrafią ładnie skalować grafiki, ale musiałbyś przesyłać im cały plik (który przecież waży pewnie kilka mega) - poza tym nie tędy droga. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 65 Pomógł: 9 Dołączył: 30.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
ad 3) A rozróżniasz gdzie się wykonuje kod php a gdzie kod js? Czy jeśli chcesz zmniejszyć obrazek to wysyłasz go do kumpla pocztą na drugim końcu Polski czy robisz to sam?
to wiem, dla tego spytałem czy da się tak pomieszać php z JC, ale tak jak myślałem, czyli się nie da. Mam 2 funkcje skalujące. Ta działa automatycznie przy zapisywaniu grafiki na server.
Działa tak aby szerokość wyskalować na 600, i wysokość dać taką aby ratio było zachowane. Krótko siedzę w php więc nie wypominajcie mi proszę kodu:P |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To zmień imagecopyresized na imagecopyresambled poza tym zapis na 100 jest bezsensowny. Tworzysz ogromne pliki, które niemal niczym nie różnią się od tych z 75 a są często kilkukrotnie większe
![]() ![]() ![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Stworzyć zwykłą miniaturę i ją wyostrzyć
![]() -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 658 Pomógł: 95 Dołączył: 20.12.2005 Skąd: N54,35° E18,63° (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
ImageMagick ?
-------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 65 Pomógł: 9 Dołączył: 30.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Imagecopyresampled służy nie tylko do kadrowania przecież
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 11:10 |