[PHP-users 12337] 4.2.3のGDについて

shima tetuo php-users@php.gr.jp
Wed, 25 Dec 2002 22:39:57 +0900


tetuoです。
現在、2つのレンタルサーバーにて(物理的に別)GDを使っていますが、どうも
動きに違いが有り悩んでいます。

下記が使用しているサーバーの情報です。
---1つ目のサーバー--------------------
PHP Version 4.2.2

Linux 

'./configure' '--enable-mbstring' '--enable-mbstr-enc-trans' 
'--enable-mbregex' '--enable-i18n' '--with-mysql=/usr/local/mysql' 
'--with-pgsql=/usr/local/pgsql' '--enable-track-vars' 
'--enable-discard-path' '--with-gd=/usr/local' '--enable-gd-native-ttf' 
'--with-zlib-dir=/usr' '--with-jpeg-dir=/usr' '--with-pdflib=/usr/local' 
'--enable-shared-pdflib' '--with-tiff-dir=/usr/local' 
'--with-freetype-dir=/usr' '--with-png-dir=/usr/local/libpng' 
'--disable-debug' '--enable-debug=no' '--enable-debugger=yes' 
'--enable-memory-limit=yes' '--enable-magic-quotes=yes' 
'--with-exec-dir=/usr/bin' 
'--with-config-file-path=/usr/local/apache_shared/conf' 
'--without-system-regex' '--with-dbase=yes' '--enable-bcmath=yes' 
'--enable-ftp' '--enable-versioning' '--enable-safe-mode' 
'--enable-sockets' '--with-mcrypt=/usr/local/lib/libmcrypt' 
'--disable-posix-threads' '--with-apxs=/usr/local/apache_shared/bin/apxs'

GD Support          enabled 
GDVersion           2.0 or higher 
FreeType Support    enabled 
FreeType Linkage    with freetype 
JPG Support         enabled 
PNG Support         enabled 
WBMP Support        enabled 
---------------------------------------

---2つ目のサーバー--------------------
PHP Version 4.2.3
FreeBSD 
'./configure' '--enable-mbstring' '--enable-mbstr-enc-trans' 
'--enable-mbregex' '--with-pgsql=/usr/local/pgsql' 
'--with-mysql=/usr/local/mysql' '--with-gdbm' '--with-gd=/usr/local' 
'--enable-gd-native-ttf' '--enable-ftp' '--with-ming=../ming-0.2a' 
'--with-imap=../imap-2002.RC7' '--with-zlib=/usr' 
'--with-freetype-dir=/usr/local' '--with-ttf=/usr/local' 
'--with-jpeg-dir=/usr/local' '--with-png-dir=/usr/local' 
'--with-iconv=/usr/local' '--enable-sockets' '--with-openssl' 
'--enable-trans-sid' '--with-apxs=/usr/local/apache/bin/apxs' 
'--enable-versioning'

GD Support          enabled 
GD Version          2.0 or higher 
FreeType Support    enabled 
FreeType Linkage    with freetype 
GIF Read Support    enabled 
GIF Create Support  enabled 
JPG Support         enabled 
PNG Support         enabled 
WBMP Support        enabled 
---------------------------------------


問題点:
サーバー上のJPEGファイルをリサイズ後、imageJPEG関数にてリサイズされたイ
メージを表示しているが、4.2.2側では画質もそれ程変わらずリサイズできるの
に対して4.2.3側ではかなり画質が落ちてしまい、JPEGファイルによっては雲が
かかったようになってしまいます。

今行っているリサイズの手順(クラスに落とし込んでいるので手順のみ)
1.縮小する大きさのイメージをImageCreateで作成
2.ImageCopyResampledを使用し、元画像を1.で作成した画像へリサイズ
3.2.で取得したリサイズ後の$imageIDを使用し、下記のようにJPEGをブラウ
ザへ出力。
    header("Content-type: image/jpeg");
    imagejpeg($imageID);

4.2.2側でも4.2.3側でも同じようにリサイズは出来ていて、ブラウザにも正しく
表示されるのですが、4.2.3側で上記の問題点で言ったような画質の問題があり
ます。

現在分かっている事:
画質が落ちる4.2.3側においても使用するJPEGの圧縮率が低い物(4程度)だと、
画質は落ちないようです。(圧縮率が9ぐらいになると画質が落ちてしまいます。)
※尚、この圧縮率はACDSeeで確認した物なので一般的な物ではないのかもしれま
  せん。

同じような現象を持った方から情報頂けると幸いです。