画像処理にImageMagickを使用するいくつかのPHPコードを変換したいと思います。私はGDの使用に関しては初心者ですが、いくつかの指示やコードの提案を得ることができれば幸いです。ImageMagickコードをGD(php)に変換
現在のPHPコードは、それを見たため
$rand = rand();
$galleryWidth ='245';
$galleryHeight ='245';
$result = array();
if (isset($_FILES['photoupload']))
{
$file = $_FILES['photoupload']['tmp_name'];
$error = false;
$size = false;
list($file_name, $file_type) = split('[.]', $_FILES["photoupload"]["name"]);
move_uploaded_file($_FILES["photoupload"]["tmp_name"],
"./photos/org/".$rand.'.'.$file_type);
list($width,$height)=getimagesize('./photos/org/'. $rand.'.'.$file_type);
if(($galleryWidth/$width) < ($galleryHeight/$height)){
exec("C:/imagemagick/convert ./photos/org/". $rand.".".$file_type."\
-thumbnail ".round(($width*($galleryWidth/$width)), 0)."x".round(($height*($galleryWidth/$width)), 0)." \
-quality 90 ./photos/".$_GET['id'].".jpg");
}
else{
exec("C:/imagemagick/convert ./photos/org/". $rand.".".$file_type."\
-thumbnail ".round(($width*($galleryHeight/$height)), 0)."x".round(($height*($galleryHeight/$height)), 0)." \
-quality 90 ./photos/".$_GET['id'].".jpg");
}
$result['result'] = 'success';
$result['size'] = "Uploaded an image ({$size['mime']}) with {$size[0]}px/{$size[1]}px.";
}
?>
おかげ下に見ることができます!
普遍的な「変換」技術はありません。達成しようとしていることを教えてください。それをあなたのコードから理解するのは難しいです。 – Hnatt
すみません。基本的には、画像をアップロードするためのPHPコードです。サイズ変更や画質の低下を防ぐにはImageMagickが必要です。 "-thumbnail"と "-quality"はPHPコードではなく、ImageMagickコードです。 GDは似た機能を持っていますが、構文は違っています。最も重要なことは、サムネイルが正しい比率で作成されることです。 – jman
GDに戻したい理由はありますか?この 'exec()'ハッカーをする代わりに[Imagick native php extension](http://www.php.net/manual/en/book.imagick.php)に切り替えることをお勧めします。あなたは同じ機能を持っていますが、コードはクロスプラットフォーム&クリーナーになります。 – CuriousMind