PHP はサムネイルを生成し、watermark を追加します_PHP チュートリアル
ht
php
厚生
追加
図書館
操作する
透かし
生成する
の
単純
親切
講堂
これ
これは単純な GD ライブラリ操作です
[php]
/****
ヤン・シバ公共福祉PHP講座
フォーラム: http://www.zixue.it
Weibo: http://weibo.com/Yshiba
YYチャンネル: 88354001
****/
/***
写真を加工したい
まず画像のサイズとタイプの情報を取得する必要があります
ウォーターマーク: 指定したウォーターマークをターゲットにコピーし、透明効果を追加します
サムネイル: 大きな画像を小さなサイズの画面にコピーします
***/
クラス ImageTool {
// imageInfo は画像情報を分析します
// array() を返す
パブリック静的関数 imageInfo($image) {
// 画像が存在するかどうかを判断します
if (!file_exists($image)) {
false を返します。
} if ($info == false) {
false を返します。
}
' s ' s を通じて
$img['width'] = $info[0];
$img['高さ'] = $info[1];
$img['ext'] = substr($info['mime'], strpos($info['mime'], '/') + 1);
$img;
} }
// まず、ウォーターマークが操作対象の画像より大きくならないようにしてください
$dinfo = self::imageInfo($dst);
$winfo = self::imageInfo($water);
if ($winfo['height'] > $dinfo['height'] || $winfo['width'] > $dinfo['width']) {
false を返します。
} $dfunc = 'imagecreatefrom'
$wfunc = 'imagecreatefrom' . $winfo['ext'];
} www.2cto.com
// 関数を動的にロードしてキャンバスを作成します
$dim = $dfunc($dst);
アウトアウトアウトアウト
$wim = $wfunc($water);
//透かしキャンバスを作成する $posy = 0;
休憩。
ケース 1 :
// 右上角
$posx = $dinfo['width'] - $winfo['width'];
$posy = 0;
休憩。
ケース 3 :
// 左下角
$posx = 0;
$posy = $dinfo['height'] - $winfo['height'];
休憩。
デフォルト:
$posx = $dinfo['width'] - $winfo['width'];
$posy = $dinfo['height'] - $winfo['height'];
}
// 加水印
imagecopymerge($dim, $wim, $posx, $posy, 0, 0, $winfo['width'], $winfo['height'], $alpha);
// 保存
if (!$save) {
$save = $dst;
unlink($dst);
// 删除原图
}
$createfunc = '画像' 。 $dinfo['ext'];
$createfunc($dim, $save);
imagedestroy($dim);
imagedestroy($wim);
true を返します。
}
/**
親指 サムネイルを生成
比例的に拡大縮小し、両側を空白のままにしておきます
**/
public static function thread($dst, $save = NULL, $width = 200, $height = 200) {
// 第一判断処理待ちの画像は存在しません
$dinfo = self::imageInfo($dst);
if ($dinfo == false) {
false を返します。
}
// 计算缩放率
$calc = min($width / $dinfo['width'], $height / $dinfo['height']);
// 创建原始图的画布
$dfunc = 'imagecreatefrom' 。 $dinfo['ext'];
$dim = $dfunc($dst);
// 创建缩略画布
$tim = imagecreatetruecolor($width, $height);
// 创建白色充缩略画布
$white = imagecolorallocate($tim, 255, 255, 255);
// 充缩略画布
imagefill($tim, 0, 0, $white);
// 复制并缩略
$dwidth = (int)$dinfo['width'] * $calc;
$dheight = (int)$dinfo['height'] * $calc;
$paddingx = (int)($width - $dwidth) / 2;
$paddingy = (int)($height - $dheight) / 2;
imagecopyresampled($tim, $dim, $paddingx, $paddingy, 0, 0, $dwidth, $dheight, $dinfo['width'], $dinfo['height']);
// 保存画像
if (!$save) {
$save = $dst;
unlink($dst);
}
$createfunc = '画像' 。 $dinfo['ext'];
$createfunc($tim, $save);
imagedestroy($dim);
imagedestroy($tim);
true を返します。
}
}
// print_r(ImageTool::imageInfo('./home.jpg'));
/* www.2cto.com
echo ImageTool::water('./home.jpg','./smallfeng.png','home1.jpg',0)?'OK':'FAIL';
echo ImageTool::water('./home.jpg','./smallfeng.png','home2.jpg',1)?'OK':'FAIL';
echo ImageTool::water('./home.jpg','./smallfeng.png','home3.jpg',2)?'OK':'FAIL';
echo ImageTool::water('./home.jpg','./smallfeng.png','home4.jpg',3)?'OK':'FAIL';
*/
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
レポ:チームメイトを復活させる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.ファイルの保存場所:それはどこにあり、それを保護する方法は?
3週間前
By DDD

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7322
9


Java チュートリアル
1625
14


CakePHP チュートリアル
1350
46


Laravel チュートリアル
1262
25


PHP チュートリアル
1209
29



PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
