ホームページ  >  記事  >  バックエンド開発  >  scaling_PHP チュートリアルから黒い背景を削除した、PHP 用の完璧な GIF 比例スケーリング クラス

scaling_PHP チュートリアルから黒い背景を削除した、PHP 用の完璧な GIF 比例スケーリング クラス

WBOY
WBOYオリジナル
2016-07-13 10:34:58937ブラウズ

最近は、書くときはクラスにカプセル化するのが好きです...ただ呼び出すだけです...呼び出す方法は言いません

コードをコピーします コードは次のとおりです:
class assign_image{
private $o_img_width;//元の画像の幅
private $o_img_height;//元の画像の高さ
private $n_img_width; //新しい画像の幅
private $n_img_height;//新しい画像の高さ
private $o_img_file;//元の画像ファイル
private $o_img_source;//元の画像リソース
private $n_img_file;//新しい画像リソース
private $n_img_source; //新しい画像リソース
private $o_to_n_per=0.5;//画像の拡大率

//内部変数を初期化します
function __construct($oldfile,$newfile){
list($width,$height)=getimagesize($oldfile);
$this->o_img_file=$oldfile;
$this-> o_img_width=$width;
、、、、、、、、
//比例的に拡大縮小し、背景が黒いGIFの透明色の問題を解決します
function get_resize_scaling_img(){ $this->n_img_width=$this->o_img_width*$this->gt;o_to_n_per;

$this->gt; n_img_height=$this->o_img_height*$this->o_to_n_per;
o_img_height))

OMGIF ($ this- & gt; o_img_file) // キャンバスの拡大縮小
$this-&g; t;n_img_source =imagecreatetruecolor($this->o_img_width,$this->n_img_height);
除 // 美しさ: 黒い不透明な背景を削除します
$ Trans_init = ImageColortransparent ($ this- & gt; o_img_source)
// 透明な色を見つけて、それが全体の色に含まれるかどうかを判断します
($ trans_init & gt; = 0 && $ trans_init & lt; ImageColorstotal ($this->o_img_source)){
_ $ Trans_new = ImageColoraLocate ($ this-& gt; n_img_source, $ trans_index ["red"], $ trans_index ["" ""], $ trans_index ["" "); この色が新しい画像を塗りつぶします
imagefill($this->n_img_source,0,0,$trans_new);
// 元の画像を新しいアートボードにコピーします
Imagecopyresize($this->n_img_source ,$this->o_img_source,0,0,0,0,$this->n_img_width,$this->n_img_height,$this->o_img_width,$this->o_img_height);
‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ imagedestroy($this ->n_img_source);

}

}


説明: あまり深く考えずに呼び出し用のプライベート内部変数をたくさん宣言してしまいました...プログラムは非常にぎこちなく見えます...

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/748162.html技術記事最近では、誰もがクラスにカプセル化することを好みます...呼び出し方法は説明しません。コピーしたコードは次のとおりです: ?php class assign_image{ private $o_img_width;//元の画像...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。