Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Biblioteka GD: Dlaczego obrazki po zmniejszeniu wychodzą jaśniejsze?
fluffy
post 28.02.2010, 10:42:06
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 26.01.2006

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


Witam,

Chciałbym abyście zobaczyli to samo zdjęcie pod umieszczone pod jednym i drugim linkiem. Jedno adres jest bezpośrednio do pliku, drugi zaś odnosi się do skryptu (poniżej zamieszczonego), który pomniesza zdjęcia i je wyświetla.

http://superstronka.net/grafika/zdj.jpg <-bezpośrednio z serwera
http://superstronka.net/obrazek.php?url=ht...j.jpg&w=434 <- przez skrypt

Nie rozumiem dlaczego gdy zdjęcie "przechodzi" przez skrypt jest jaśniejsze od tego pierwotnego.

Bardzo proszę o sugestie, podpowiedzi rozwiązania. Siedzę nad tym dłuższą chwilę i już mi się skończyły pomysły na zapytania w google...


Oto skrypt przez który przechodzi zdjęcie:

  1.  
  2. <?php
  3.  
  4.  
  5. $filename = $HTTP_GET_VARS['url'];
  6. $wymiar = $HTTP_GET_VARS['w'];
  7. // Content type
  8. header('Content-type: image/jpeg');
  9.  
  10. // Get new dimensions
  11. list($width, $height) = getimagesize($filename);
  12.  
  13.  
  14. if($width>=$height){
  15. $new_height = ($height/100)*(($wymiar*100)/$width);
  16. $new_width = $wymiar;
  17. }
  18.  
  19. if($width<$height){
  20. $new_width = ($width/100)*(($wymiar*100)/$height);
  21. $new_height = $wymiar;
  22. }
  23.  
  24.  
  25. // Resample
  26. $image_p = imagecreatetruecolor($new_width, $new_height);
  27. $image = imagecreatefromjpeg($filename);
  28. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
  29.  
  30. // Output
  31. imagejpeg($image_p, null, 100);
  32.  
  33. ?>
  34.  
  35.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
rafalp
post 28.02.2010, 11:33:51
Post #2





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

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


Podążając za Twoimi linkami do tych zdjęć - u mnie zdjęcia są identyczne.


--------------------
Go to the top of the page
+Quote Post
Blame
post 28.02.2010, 12:02:07
Post #3





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

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


Może to być związane z tym, że funkcja imagecopyresampled oprócz samego skalowania, dodatkowo oblicza kolor pixela na podstawie innych sąsiadujących z nim. To się jakoś nazywało, ktoś to już opisywał na tym forum, niestety pamięć mnie zawodzi. Możesz spróbować użyć zamiast niej imagecopyresized, tyle że jakość może być gorsza.


--------------------
Go to the top of the page
+Quote Post
fluffy
post 28.02.2010, 12:49:13
Post #4





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 26.01.2006

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


próbowałem z imagecopyresized ale bez poprawy.... usunąłem nawet ten element kodu a propo pomniejszania zdjęcia... czyli wpuściłem zdjęcie do skryptu i odrazu go wypisałem... ale też bez skutku.

Miałem nawet podejrzenie że w jakiś sposób jest zamieniana kolorystyka z RGB na CMYK ale próbowałem oryginalne zdjęcie przerobić na CMYK i nie praktycznie różnił się kolorystycznie od oryginału. Te przez skrypt są zdecydowanie jaśniejsze.
Go to the top of the page
+Quote Post
maly_swd
post 1.03.2010, 09:00:04
Post #5





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

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


a czy oryginalny JPG jest zapisany jako rgb czy cmyk?
oraz czy nie ma osadzonego profilu kolorow? - nie pamietam czy jpg na to pozwala ale chyba tak

Ten post edytował maly_swd 1.03.2010, 09:00:45


--------------------
śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu..
Go to the top of the page
+Quote Post
fluffy
post 1.03.2010, 11:31:31
Post #6





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 26.01.2006

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


oryginalny JPG jest zapisany jako RGB... co do profilu koloru nie bardzo wiem gdzie to sprawdzić, ale jak wiesz jak to sprawdź proszę o ile to pomoże.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 21:25