2011-02-28 6 views
2

GD 라이브러리 imagejpeg보다 나은 기능이 있습니까?GD :: imagejpeg() 더 나은 대안?

나는 이미지를 업로드해야

(심지어 품질 인수로 85을 사용) 일부 품질 문제가 발생하고이 기능을 사용하여 JPG로 변환 후 업로드 (즉, 어떤 PNG 파일, JPG, GIF를 할 수 있습니다) 내 webiste (이 경우 DB를,하지만 그 문제가 아니에요)

현재 imagecreatefromstring 다음 imagejpeg 품질을 사용하여 끔찍한이며 때로는 더 커지면.

이 끔찍한 gd에 대한 모든 PHP 대안 (테스트 한 ..)?

감사

+0

이미지를 정확히 작성하는 방법 .. 몇 가지 코드를 게시 할 수 있습니까? – fazo

+0

나는 그것을 업로드하고 imagecreatestring에 전달 중이다. normalstuff –

+0

예제 이미지를 보여줄 수 있습니까? –

답변

1

나는 개인적으로 GD 이상 ImageMagick를 선호합니다. 더 많은 일을하고 더 빨리 수행합니다 : http://ca2.php.net/imagick - ImageMagick을 설치해야하지만, 저에게 묻는다면 가치가 있습니다.

+1

Imagick FOREVER !!! :) –

0

인터레이스를 활성화 했습니까? http://www.php.net/manual/en/function.imageinterlace.php 이미지를 저장하기 전에 리샘플링하는 것이 좋습니다.

GD에서 벗어나기로 결정한 경우 imagemagick PECL 확장 프로그램 (http://php.net/manual/en/book.imagick.php)을 살펴볼 수 있습니다. PHP에 내장되어 있지 않으므로 GD보다 약간 문제가 있지만 찾고있는 것일 수 있습니다.

+0

인터레이스는 imagejpeg()의 품질과 아무런 관련이 없습니다. 어느 resampling 생각도 – dynamic

1

GD의 JPG 필터는 실제로 압축 대 이미지 품질면에서 최고가 아닙니다. 매우 좋은 정보와 사진에 대한

, @ v0idnull에서 알 수 있듯이, ImageMagick이는 샷 가치, 또는 95 또는 99

같은 매우 높은 품질 설정을 사용하는 것이 좋습니다.

예를 들어, JPG - 벡터 일러스트레이션에서보기에는 좋지 않은 이미지 종류가 있습니다. JPG는 많은 색상 변화와 정확히 같은 색상의 영역이 적은 사진 및 기타 이미지에 가장 적합합니다.

+0

이미지 크기가 원본 소스보다 커질 것이기 때문에 나는 80-85 이상의 품질을 사용할 수 없다. 어쨌든 포토샵을 사용하여 나는 8-9의 품질로 JPG에서 원하는 모든 것을 저장할 수있다. 품질은 완벽합니다. 왜 이런 일이 GD에도 일어나지 않을까요? ( – dynamic

+0

@yes Photoshop의 압축 알고리즘은 GD보다 뛰어납니다. Photoshop을 사용할 방법이 없습니다. –

+0

+1 친절 함 – dynamic