私はphpスクリプトを使用して、画像をアップロードしてサイズを変更しています。非常に簡単です:
if($_SERVER["REQUEST_METHOD"] == "POST") {
$image = $_FILES["image_upload"];
$uploadedfile = $image['tmp_name'];
if ($image) {
$filename = stripslashes($_FILES['image_upload']['name']);
$extension = getExtension($filename);
$extension = strtolower($extension);
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) {
$error_txt = 'Immagine incoretta';
$errors=1;
} else {
$size=filesize($uploadedfile);
if ($size > MAX_SIZE*1024) {
$error_txt = "Immagine troppo grande";
$errors=1;
}
if($extension=="jpg" || $extension=="jpeg" ) {
$uploadedfile = $uploadedfile;
$src = imagecreatefromjpeg($uploadedfile);
} else if($extension=="png") {
$uploadedfile = $uploadedfile;
$src = imagecreatefrompng($uploadedfile);
} else {
$src = imagecreatefromgif($uploadedfile);
}
list($width,$height)=getimagesize($uploadedfile);
$newwidth=500;
$newheight=375;
$tmp=imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
$filename = "images/". generateRandomString(5) . $image['name'];
imagejpeg($tmp,$filename,100);
imagedestroy($src);
imagedestroy($tmp);
}
}
私はもう少し先に進みたいと思っています。今はプロポーションに関係なく画像のサイズを変更しているだけです。元のプロポーションを失うことなく、固定された高さにサイズを変更したいと考えています。もちろん、これはトリミングによって達成されます。 +元の画像のサイズ変更。
実際のimagecreatetruecolorおよびimagecopyresampled関数を使用してこれを行う方法がわかりません。php マニュアルを見るのは簡単ではないようです。
私のコードに統合しようとしている非常に優れたライブラリがあります。使用方法はmysite.com/lib/timthumb.php?src=castle1.jpg&h=180&w=120と同じくらい簡単ですが、それを実際のコードと統合する方法がわかりませんコード。
それで、あなたは何を提案しますか?