Je voudrais convertir du code PHP utilisant ImageMagick pour le traitement d'image. Je suis un débutant total quand il s'agit d'utiliser GD mais j'espère que je pourrais obtenir des directions ou des suggestions de code.Conversion du code ImageMagick en GD (php)
Le code PHP en cours peut être vu ci-dessous
$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.";
}
?>
Merci d'avoir un coup d'oeil!
Il n'existe pas de technique de 'conversion' universelle. S'il vous plaît dites-nous ce que vous essayez d'atteindre. C'est difficile à comprendre à partir de votre code. – Hnatt
Je suis désolé. Fondamentalement, c'est le code PHP pour un formulaire de téléchargement d'image. Pour le redimensionnement et la diminution de la qualité d'image, j'ai besoin d'ImageMagick. "-thumbnail" et "-quality" ne sont pas du code PHP, c'est du code ImageMagick. D'après ce que je comprends, GD a des caractéristiques similaires mais une syntaxe différente. La chose la plus importante est de créer la vignette afin qu'elle ait des proportions correctes. – jman
Toute raison pour laquelle vous souhaitez revenir à GD? Je vous suggère de passer à [extension php native de Imagick] (http://www.php.net/manual/fr/book.imagick.php), au lieu de faire ce hackery 'exec()'. vous obtenez les mêmes fonctionnalités mais le code sera cross plate-forme et nettoyeur. – CuriousMind