0

画像アップロード スクリプトのサムネイルを作成しようとしましたが、成功しました。しかし、私は小さな問題を抱えています。慣れている場合は、pixlieを使用してサムネイルを作成します。使用した場合と同じサイズと効果を得ようとしてstyle="width:200px; height:auto;" います。サムネイルの縦横比を維持したいのですが、まだ十分ではありません。

これまでの私のコードは(私の「数学」についてはわかりません):

$img = imagecreatefromjpeg($uploaddir);
$width = imagesx($img); //get width and height of original image
$height = imagesy($img);
$maxwidth = '200';

//scaling
if ($height < $width) {
  $ratio = $height / $width;   
  $newheight = $ratio * $height;   
  $newwidth = $maxwidth;  
}
elseif ($height > $width) {
  $ratio = $height / $width;
  $newheight = $ratio * $maxwidth;
  $newwidth = $maxwidth;
}

require_once('Pixlie.php');

$pixlie = new Pixlie();
$pixlie->setCache(new PixlieFileCache('thumbnail_img/'));
$thumbnail = new PixlieRenderOptions();
$thumbnail->setWidth($newwidth);
$thumbnail->setHeight($newheight);
$image = $pixlie->render("$uploaddir", $thumbnail);

また、pixlieに慣れていない場合、私を助けるのは難しいかもしれません。でも、数学を手伝ってくれるかもしれないし、pixlie よりも優れたものを持っているかもしれない.. idk. (いくつかの親指はかなりうまくサイズ変更されていますが、他の親指は実際に..楕円形になっています..?)

ご協力いただきありがとうございます。

4

1 に答える 1

0

うーん...最大の高さはありませんか?正しいアスペクト比を得るには、これで問題ありません。

// Scaling
$newwidth = $maxwidth;
$ratio = $width / $height;
$newheight = $newwidth / ratio;

したがって、幅は常に 200 になり、それに応じて高さが変わります。

于 2013-02-11T16:00:51.053 に答える