$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
// リサンプル
$image_p = imagecreatetruecolor($ width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imagejpeg($image_p, null, 100);
?>
画像のサイズを変更するには 2 つの方法があります:
ImageCopyResize() 関数はすべての GD バージョンで有効ですが、画像のスケーリングのアルゴリズムは荒いです。
ImageCopyResamples() のピクセル補間アルゴリズムによって取得された画像のエッジは比較的滑らかです。 (ただし、この関数は ImageCopyResize() よりも遅くなります)。
2 つの関数のパラメータは次のように同じです:
コードをコピーします
コードは次のとおりです:
imageCopyResampled(dest,src,dy,dx,sx,sy,dw,dh, sw,sh);
imageCopyResize(dest,src,dy,dx,sx,sy,dw,dh,sw,sh);
例:
コードをコピーします コードは次のとおりです:
$src = ImageCreateFromJPEG('php.jpg');
$width = ImageSx($src);高さ = ImageSy($src);
$x = $width/2;
$dst = ImageCreateTrueColor($dst,$src,0, 0,0, 0,$x,$y,$width,$height);
ImagePNG($det);
php で jpg を変更します 画像ファイルのサイズ
コードをコピーします
コードは次のとおりです:
< function raise_jpg($img,$w,$h){ // $サム = imagecreate ($w, $h );
$image = imagecreatefromjpeg($img);
if ($h = "auto") $h = $w/($imagedata) [0]/$imagedata[1] );//元の画像のアスペクト比に基づいて高さを取得します。
$thumb = imagecreatetruecolor ($w, $h);
imagecopyresize ($thumb, $image, 0, 0, 0, 0, $w, $h, $imagedata[0],
); imagejpeg($thumb);
//resize_jpg("images/dsc01244.jpg",100,100); ;
?>
関数コード:
コードをコピーします:
/*
* 画像サムネイル
* $srcfile ソース画像、
* $rateスケーリング率、デフォルトでは半分、または特定の幅ピクセル値に縮小されます
* $filename 出力画像ファイル名 jpg * 例:resizeimage("zt32.gif",0.1) * 例:resizeimage( "zt32.gif",250 ) ; * 注: 呼び出すときは、HTML ファイルの IMG タグ内の SRC 属性に関数の結果を直接入れます */
function raiseimage($srcfile,$rate=.5) , $filename = "" ){
$size= getimagesize($srcfile);
switch($size[2]){
ケース 1:
$img=imagecreatefromgif($srcfile);
ケース 2:
$img=imagecreatefromjpeg($srcfile);
break;
$img=imagecreatefrompng($srcfile);
デフォルト:
}
//ソース画像の幅と高さ
srcw=imagesx($img);
$srch=imagesy( $img);
//宛先画像の幅と高さ
if($size[0] $dstw=$srcw;
$dsth =$srch;
}else{
if($rate $dstw=floor($srcw*$rate); dsth=floor($srch*$rate);
$dstw=$rate;
$dsth=floor($srch*$rate); //echo "$dstw,$dsth,$srcw,$srch " ;
//新しい True Color イメージを作成します
$im=imagecreatetruecolor($dstw,$dsth)
$black=imagecolorallocate($im,255,255,255); ;
imagefilledrectangle($im,0,0,$dstw,$dsth, $black);
imagecopyresize($im,$img,0,0,0,0,$dstw,$dsth,$srcw,$srch) ;
// 画像をブラウザまたは JPEG 形式でファイルに出力します
if ( $filename ) {
// 画像を保存して出力します
imagejpeg($im, $filename)
}else {
//ブラウザへの画像
imagejpeg($im);
//画像を解放
imagedestroy($img);
;
http://www.bkjia.com/PHPjc/324010.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/324010.html
技術記事
まずは私が書いた関数を紹介します。 次のようにコードをコピーします: ?php $imgsrc = "http://www.nowmagic.net/images/3.jpg"; $width = 780; $height = 420; Resizejpg($imgsrc,$imgdst,$width. .