Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmniejszanie wartości DPI przy tworzeniu miniaturki
marcinek37
post
Post #1





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

Ostrzeżenie: (0%)
-----


Witam,

Parametry zdjęcia (informacje po wejściu w zaawansowane właściwości zdjęcia):
Szerokość zdjęcia = 3872px
Wysokość zdjęcia = 2176px
Rozdzielczość w poziomie = 350dpi
Rozdzielczość w pionie = 350dpi

następnie uruchamiam skrypt, który przerabia to zdjęcie:
Kod
<?
$src = 'obraz.jpg';
$img = @imagecreatefromjpeg($src);
$old_x = imagesx($img);
$old_y = imagesy($img);
$new_x = 200;
$new_y = 200;
// wartości są przykładowe, wiem, że zdjęcie traci proporjnalność

$img_new = @imagecreatetruecolor($new_x, $new_y);
@imagecopyresampled($img_new, $img, 0, 0, 0, 0, $new_x, $new_y, $old_x, $old_y);
@imagejpeg($img_new, $src, 85);
imagedestroy($img);
?>



Po zakończonej akcji zdjęcie ma parametry:
Szerokość zdjęcia = 200px DOBRZE
Wysokość zdjęcia = 200px DOBRZE
Rozdzielczość w poziomie = 96dpi ŹLE
Rozdzielczość w pionie = 96dpi ŹLE

Wszystko poszło dobrze, ale stopień dpi drastycznie spadł, obniżając jakość zdjęcia.
Czy istnieje prosta możliwość (użycie jakieś funkcji lub zmiana ustawień w php.ini), która nie będzie zmieniać wysokości dpi? Nie chcę jej narzucać z góry, po prostu chcę, aby się nie zmieniała.

Warto dodać, że jak taką akcję wykonuję w Photoshopie, wszystko działa dobrze.

Proszę o pomoc.

Ten post edytował marcinek37 3.06.2011, 17:43:45
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Proszę o nadanie sensowniejszego tematu wątkowi. W przeciwnym razie może zostać on zamknięty.
Go to the top of the page
+Quote Post
cycofiasz
post
Post #3





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Dpi nie określa jakości tylko wymiary zdjęcia podczas drukowania. Czy obrazek wynikowy ma być przeznaczony do wydruku?
Go to the top of the page
+Quote Post
marcinek37
post
Post #4





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

Ostrzeżenie: (0%)
-----


Zdjęcie trafia do internetu, a potem je ktoś pobiera i co z nim zrobi, nie wiem - więc pewnie będzie również drukować

czy jest możliwość przerobienia tego kodu tak, aby DPI w ogóle nie ulegała zmianie?
np. podczas przeróbki w Photoshopie DPI w ogóle nie ulega zmianie...
Go to the top of the page
+Quote Post
melkorm
post
Post #5





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cytat
obniżając jakość zdjęcia.


imagejpeg - trzeci parametr.
Go to the top of the page
+Quote Post
marcinek37
post
Post #6





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

Ostrzeżenie: (0%)
-----


Trzeci parament można ustawić na 100, i tak to nic nie zmienia, podobno nie warto dawać więcej niż 85
mnie chodzi tylko o dpi
Go to the top of the page
+Quote Post
kiler129
post
Post #7





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Ale DPI to tylko informacja (IMG:style_emoticons/default/smile.gif)
Można ją zmienić nawet na 10000 we właściwościach a i tak jakość pliku się nie zmieni. To jest informacja która pozwala wyliczyć realną wielkość obrazu (bo pixele nijak mają się do milimetrów).
Poszukaj jak w GD2 zmienić DPI - wiem, że się da ale nie pamiętam jak (IMG:style_emoticons/default/wink.gif)

Tak czy inaczej - to tylko zapis jak EXIF - nie wpływa na jakość.
Go to the top of the page
+Quote Post
marcinek37
post
Post #8





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

Ostrzeżenie: (0%)
-----


KILLERZE, a mógłbyś podać mi linka do strony, gdzie znajdę dokładny opis tego, że wartość dpi nie ma ogólnie znaczenia? że nie psuje jakości zdjęcia?
Go to the top of the page
+Quote Post
Rid
post
Post #9





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

Ostrzeżenie: (0%)
-----


Cytat
Można ją zmienić nawet na 10000 we właściwościach a i tak jakość pliku się nie zmieni


No ja bym się nad tym zastanowił:
http://pl.wikipedia.org/wiki/Dpi
Są tam fajnie przedstawione obrazki,na których widać ,że wartość DPI ma znaczenie co do jakości obrazu.
Go to the top of the page
+Quote Post
cycofiasz
post
Post #10





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Jeśli mamy do czynienia ze stałą wartością wymiarów obrazka w pikselach to wartość dpi nie ma znaczenia dla jego jakości. Im większa wartość dpi tym drukowany obrazek będzie zatem coraz mniejszy.
Go to the top of the page
+Quote Post
marcinek37
post
Post #11





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

Ostrzeżenie: (0%)
-----


możecie dać mi jakieś lepsze źródła niż wikipedia?
chciałbym to raz na zawsze pojąć, bo mam niemały problem...
Go to the top of the page
+Quote Post
cycofiasz
post
Post #12





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


O lepsze źródło trudno do tak prostej rzeczy.

Masz tu obrazek 72 dpi: http://virtualsale.pl/1.jpg
A tutaj obrazek o tej samej rozdzielczości, ustawione 300 dpi http://virtualsale.pl/2.jpg

Dla tego drugiego ustawiłem mocniejszą kompresję by pokazać że dpi nie oznacza w tym przypadku jakości.


W formacie jpeg / png / gif itp zapisuje się grafikę rastrową a więc podzieloną na piksele. Mniejszej jednostki niż piksel nie ma. Więc mając 2 zdjęcia o tej samej rozdzielczości (np 200 x 200 px) ale o innym współczynniku dpi nie ma żadnej różnicy w ich jakości. Dpi to jest tylko liczba doklejona do informacji o zdjęciu (podobnie jak autor, program edytujący itp). Użyteczna jest praktycznie tylko przy drukowaniu by drukarka wiedziała jakich wymiarów ma wyjść zdjęcie na papierze. Może być tak że obrazek o rozdzielczości 5000 x 5000 px wydrukowany zostanie jako kwadrat o boku 2cm a na przykład inny obrazek 500 x 500px (o mniejszym dpi) wyjdzie jako kwadrat o boku 6cm.

Ten post edytował cycofiasz 4.06.2011, 11:42:55
Go to the top of the page
+Quote Post
kiler129
post
Post #13





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Innymi słowy DPI oznacza Dots-Per-Inch czyli ilość pixeli na cal. Jako, że każdy z nas ma inny rozmiar monitora (a rozdzielczość możemy mieć tą samą) to obrazek 100x100px będzie u każdego z nas innego rozmiaru.
W internecie nie ma problemu ale przy wydrkuku już tak - maszyna drukująca dostaje obrazek 100x100 pixeli ale ona nie ma jakby fabrycznej rozdzielczości - trudno to wytłumaczyć (IMG:style_emoticons/default/smile.gif)
Stąd ktoś wpadł na pomysł aby przy cyfrowych zdjęciach zapisywać dodatkowo w metadanych parametr DPI mówiący że 1 cal^2 na papierze to wycinek np. 10x10 pixeli - dzięki temu drukarka wie jakiego rozmiaru ma być zdjęcie. Stąd np. aparaty zapisują różne DPI bo robiąc zdjęcie nie wiesz jakiej wielkości odbitka ma być.
Stąd jeśli obraz przeznaczony jest do projekcji cyfrowej zazwyczaj nie dba się o DPI (wyjątkiem jest tu PDF który pozwala pokazywać realną wielkość obrazu na ekranie). W wydruku obrazka każdy może sobie ustawić wymiary i wtedy program drukujący liczy odpowiednie DPI. Wyjątkiem znowu jest PDF który zachowuje skale odwzorowania i przy ustawieniu durku na 100% możemy być pewni że obraz będzie drukowany z jego DPI (dlatego wzory matryc światłoczułych często wymienia się zwyczajnie w PDF a nie JPG).

Podsumowując - DPI nie ma wpływu na jakość tego co widzimy, conajwyżej sugeruje jaka ta jakość być powinna na papierze.
Go to the top of the page
+Quote Post
marcinek37
post
Post #14





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

Ostrzeżenie: (0%)
-----


jesteście super - teraz to już pojąłem!

ale mimo wszystko, lepiej, aby dpi nie ulegało zmianie po wysłaniu na serwer - jest jakaś sztuczka, aby tego uniknąć?
trudno prosić internautów, aby przed wydrukiem duużej fotki mieli sobie zmieniać dpi
Go to the top of the page
+Quote Post
kiler129
post
Post #15





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Ale DPI to tylko SUGESTIA dla programu w jakim realnym, papierowym rozmiarze ma być zdjęcie. Przy zdjęciach DPI może być dowolne bo przecież aparat robiąc zdjęcie nie ocenia jakiej wielkości jest.
Musisz poszukać w manualu GD2 - nie jest to często używana własnosć (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
marcinek37
post
Post #16





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

Ostrzeżenie: (0%)
-----


aha, czyli krótko mówiąc nie mam się tym w ogóle przejmować
dziękuję za pomoc
pozdrawiam!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 05:05