現在、Pligg CMSベースのWebサイトと、画像処理用にPHPのGDライブラリを使用しているユーザーからの投稿にサムネイルを添付するデフォルトのイメージアップロードモジュール。結果のサムネイルの画質は低下し、ウェブ検索の結果、imagecopyresized
の機能をimagecopyresampled
に置き換える必要があることがわかりました。イメージアップロードモジュールで "imagecopyresized"関数を "imagecopyresampled"に置き換えます。
主な問題は、私はWeb開発の新人です。どこから始めたらいいのか分かりません。私は(したがって、おそらく間違っている)は、画像処理を担当し、編集することが必要だと思いコードのチャンクは以下の通りです:
私が見たもの、イメージが最初にimagecreatruecolor
機能を介して処理されるから // create a new temporary image
$tmp_img = imagecreatetruecolor($new_width, $new_height);
// copy and resize old image into new image
while (file_exists("$thumb_dir/$name$i.jpg")) $i++;
$name = "$name$i.jpg";
imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
if (!imagejpeg($tmp_img, "$thumb_dir/$name",$settings['quality']))
$error .= "Can't create thumbnail $thumb_dir/$name";
else
$db->query("INSERT INTO ".table_prefix."files
SET file_size='$size',
file_orig_id='$orig_id',
file_user_id={$current_user->user_id},
file_link_id=$link_id,
file_ispicture=1,
file_comment_id='".$db->escape($_POST['comment'])."',
file_real_size='".filesize("$thumb_dir/$name")."',
file_name='".$db->escape($name)."'");
}
return $error;
新しいtmp_img
がその後imagecopyresized
機能によって処理されます。
私は経験がないので、品質を低下させることなくXYサイズの画像のサイズを変更するための正しいパスであるかどうかはわかりません。 imagecreatetruecolor
とimagecopyresized
の両方をimagecopyresampled
に置き換える必要がありますか?