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);
?>
$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.