ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP ウォーターマーク機能は PNG 透明ウォーターマークを修復し、調整可能な品質で JPEG 画質を向上させます。_PHP チュートリアル

ThinkPHP ウォーターマーク機能は PNG 透明ウォーターマークを修復し、調整可能な品質で JPEG 画質を向上させます。_PHP チュートリアル

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

ThinkPHP ウォーターマーク機能は、PNG 透明ウォーターマークを修復し、調整する JPEG 画像の品質を向上させることができます。

この記事の例では、ThinkPHP のウォーターマーク機能がどのように PNG の透明ウォーターマークを修復し、JPEG 画像の調整可能な品質を向上させることができるかを説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです

TPには画像クラスが付属しており、画像にウォーターマークを追加する機能があります。

ここで完璧です:

1.png透かし透過
2.ウォーターマーク追加後の画質調整(JPG形式のみ)
コードは次のとおりです:

コードをコピーします コードは次のとおりです:/**
+————————————————————-
* 写真に透かしを追加します
+————————————————————-
* @静的パブリック
+————————————————————-
* @param string $source 元のファイル名
* @param string $water 透かし画像
* @param string $$savename ウォーターマーク追加後の画像名
* @param string $alpha ウォーターマークの透明度
+————————————————————-
* @戻り文字列
+————————————————————-
* @throws ThinkExecption
+————————————————————-
*/
静的パブリック関数 Water($source, $water, $savename=null, $alpha=80) {
// ファイルが存在するかどうかを確認します
if (!file_exists($source) || !file_exists($water))
false を返します;

//画像情報 $sInfo = self::getImageInfo($source);

$wInfo = self::getImageInfo($water);

//画像がウォーターマーク画像より小さい場合、画像は生成されません

if ($sInfo["width"] < $wInfo["width"] || $sInfo['height'] < $wInfo['height'])

false を返します;

//画像を作成する

$sCreateFun = "imagecreatefrom" . $sInfo['type'];

$sImage = $sCreateFun($source);
$wCreateFun = "imagecreatefrom" . $wInfo['type'];
$wImage = $wCreateFun($water);

//画像のカラーブレンドモードを設定します

imagealphablending($wImage, true);


//画像の位置、デフォルトは右下隅の右揃えです

$posY = $sInfo["高さ"] – $wInfo["高さ"];

$posX = $sInfo["width"] – $wInfo["width"];

/* PNG の透明性を維持するために、imagecopy を使用します。修正したものは次のとおりです*/

。 imagecopy($sImage, $wImage, $posX, $posY, 0, 0, $wInfo['width'], $wInfo['height']);

//混合画像を生成します。これは体系的です
// imagecopymerge($sImage, $wImage, $posX, $posY, 0, 0, $wInfo['width'],$wInfo['height'], $alpha);
//出力画像
$ImageFun = '画像' . $sInfo['タイプ'];
//保存ファイル名が指定されていない場合、デフォルトは元の画像名です
if (!$savename) {
$savename = $source;
@unlink($source);
}
// 画像を保存します。jpg の場合は、ウォーターマークの品質を設定します。
if ($sInfo['type'] == "jpg" || $sInfo['type'] == "jpeg") {
imagejpeg($sImage, $savename, 90);//imagejpeg のみがこのパラメータをサポートしているため、3 番目のパラメータは品質です
} その他 {
$ImageFun($sImage, $savename);
}
//$ImageFun($sImage, $savename);//これはシステムです
imagedestroy($sImage);
}

この記事で説明した内容が、皆様の ThinkPHP フレームワーク プログラミングに役立つことを願っています。

http://www.bkjia.com/PHPjc/906679.html

tru​​ehttp://www.bkjia.com/PHPjc/906679.html技術記事 ThinkPHP ウォーターマーク機能を使用して、PNG 透明ウォーターマークを修復し、JPEG 画像の品質を向上させることができます。この記事では、PNG 透明ウォーターマークを修復し、JPEG 画像の品質を向上させる ThinkPHP ウォーターマーク機能の例について説明します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。