ホームページ  >  記事  >  バックエンド開発  >  PHP で画像をスケーリングし、画像に透かしを追加する 2 つの関数を分析する_PHP チュートリアル

PHP で画像をスケーリングし、画像に透かしを追加する 2 つの関数を分析する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:06:30847ブラウズ

画像のサイズを変更する方法は 2 つあります。
(1):ImageCopyResize() 関数はすべての GD バージョンで有効ですが、画像のスケーリングのアルゴリズムは荒いです。 、そのピクセル 補間アルゴリズムによって取得された画像エッジはより滑らかで、品質が高くなります (ただし、この関数の速度は ImageCopyResize() よりも遅くなります)。次のように、2 つの関数のパラメーターは同じです。 dest,src,dx,dy ,sx,sy,dw,dh,sw,sh);
ImageCopyResize(dest,src,dx,dy,sx,sy,dw,dh,sw,sh
);両方元の画像 (source ) から特定の位置 (sx, sy) を取得し、画像 qu 領域をターゲット t 画像 (destination) の特定の位置 (dx, dy) にコピーします。また、dw、dhは対象画像上のコピー画像領域のサイズを指定し、sw、shはオリジナル画像からコピーした画像領域のサイズを指定します。 PS の経験がある方なら、これは元の画像内の領域を選択し、それを切り取って目的の画像に移動し、同時に拡大または縮小操作を実行することに相当します。
例1:

(画像を元のサイズの4/1で表示する例です)

コードをコピー
コードは次のとおりです:

/ /ファイルパスと拡大縮小率を指定$filename = 'test.jpg';$percent = 0.5;
//ヘッダーファイルのコンテンツタイプを指定zhi value
header('Content-type: image/jpeg');
/ /画像の幅と高さを取得します
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;
//画像。受け取ったパラメータはそれぞれ幅と高さで、生成されたリソース ハンドルが返されます
$thumb = imagecreatetruecolor($newwidth, $newheight);
//ソース ファイルのリソース ハンドルを取得します。受け取ったパラメータは画像のパスであり、ハンドルが返されます。
$source = imagecreatefromjpeg($filename);
// ソース ファイルのすべてのフィールドを切り取り、ターゲット画像に縮小します。最初の 2 つはリソース ハンドルです
imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
//ブラウザへの出力
imagejpeg($thumb);
?>


画像のサイズを変更するためのシンプルで実用的なツール SimpleImage をお勧めします。http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/
を参照してください。
使い方:



コードをコピー
コードは次のとおりです:
include('SimpleImage.php'); $image = new SimpleImage(); $image ->load('picture.jpg');
$image->resize(250,400);
$image->save('picture2.jpg');?>
幅とスケールを比例的に設定します
< ;?php
include(' SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
$image->resizeToWidth(250);
$ image->save('picture2.jpg');?>
高さとスケールを比例的に設定します
include('SimpleImage.php');
$image = new SimpleImage();
$image ->load('picture.jpg');
$image->resizeToHeight(500);
$image->save('picture2.jpg');
$image->resizeToHeight(200);
$image->save ('picture3.jpg');?>
50% に拡大縮小
include('SimpleImage.php');
$image = new SimpleImage();
$image- >load ('picture.jpg');
$image->scale(50);
$image->save('picture2.jpg');?>
スケーリング後に画面に直接出力します
< ;?php
header('Content-Type: image/jpeg');
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg') ;
$image ->resizeToWidth(150);
$image->output();?>


SimpleImage.php ソース コードについては、記事の冒頭にあるリンクをクリックしてダウンロードしてください
---------- -------------------------------------- ---------- -------------------
画像に透かしを追加します


コードをコピーします

コードは次のとおりです。
$source=imagecreatefromjpeg(' E:/image/guide_pic.jpg'); $thumb=imagecreatefromjpeg('E:/image/l.JPG');//幅を取得、画像の高さ、タイプ
list($width,$height,$mine)=getimagesize('E:/image/guide_pic.jpg');
imagecopymerge ($source,$thumb,$width-124,$height- 150,0,0,88,73,70);
// 画像を生成
imagejpeg($source,'E:/image/logo.jpg');
?>


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327626.html技術記事画像のサイズを変更するには 2 つの方法があります (1):ImageCopyResize() 関数はすべての GD バージョンで有効ですが、画像のスケーリングのアルゴリズムは比較的荒いです (2):ImageCopyResampled()、そのピクセル補間アルゴリズムは次のとおりです。 ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。