PHPでの画像の拡大縮小率

WBOY
リリース: 2016-06-23 13:25:17
オリジナル
1013 人が閲覧しました

 在图片保存中,我们不必在ps或其他工具来修改图片,我们也可以用代码来实现。下面举两例子,效果相同:
ログイン後にコピー

$sourcefile="images/1.jpg";//古い画像パス
$dstfile="images/1_small.jpg";//新しい画像パス
$arr=getimagesize($sourcefile );//画像のスケーリング率を取得します。これにより、画像属性の幅と高さをディレクトリで検索する必要がなくなりました。

//$src_width="144";
$src_height="200"; 拡大縮小率もカスタマイズできますが、画像が大きすぎると歪んでしまいます

$scle=0.5;//スケール係数
$dst_width=ceil($arr [0]*$scle);
$dst_width=ceil($arr[1]*$sclie);//新しい画像の幅と高さ
$dst_img=imagecreatetruecolor($dst_width,$dst_height );//新しい画像をロード
$src_img=imagecreatefromjpeg($sourcefile);//古い画像をロード
imagecopyresampled($dst_img,$src_img,0,0,0,0$dst_width,$dst_height,$src_width,$src_height) ;//出力画像
imagejpeg ($dst_img,$dstfile);//新しい画像、パス
imagedestroy($dst_img);
imagedestroy($src_img);//画像を破棄

?>

 
ログイン後にコピー

class Zoom{
private $srcImg; // 元の画像アドレス
private $scle; // スケーリング係数
public function __construct($a $b){
$this->srcImg=$a;
$this->scle=$ b;
list($src_w $src_h)=getimagesize($this->srcImg);
$dst_w=ceil($src_w*$this->scle);
$dst_h= ceil($src_h*$this->scle);
$arr=explode("."$this->srcImg);
$ext=end($arr);
if($ext=="jpg" ){
$src_img=imagecreatefromjpeg( $this->srcImg);
}else if($ext=="gif"){
$src_img=imagecreatefromgif($this->srcImg);
}else if($ ext=="png"){
$src_img=imagecreatefrompng($this->srcImg);
}else{
echo "jpg、png、gif 画像形式を選択してください";
exit;
}
$dstImg=$ arr[0].$this- >scle."_small".".".$ext;
$dst_img=imagecreatetruecolor($dst_w$dst_h);
imagecopyresampled($dst_img$src_img0000$dst_w$dst_h$src_w$src_h );
if($ext= ="jpg"){
imagejpeg($dst_img$dstImg);
}else if($ext=="gif"){
imagegif($dst_img$dstImg);
}else if ($ext=="png" } $i=new Zoom($image$b);
?>




関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート