コードをコピーします コードは次のとおりです:
/*
*@author 27262681@qq.com
*copyright http://www.gowake.cn
*/
class img {
function __construct($arg = null) {
$args = func_get_args();
if($arg == null) {
$this->im = call_user_func_array(array($this,'create'),$args) }
関数 __call($) func,$arg) {
str = $func;
*画像を作成します
*@param string/int 画像 ファイルパスまたは幅
*@param int 高さ、省略可
*@param string 6桁の16進整数
*/
function create($arg = null) {
$args = func_get_args();
if(is_file( { ;size = $this->size ? $this->size : $size;
$type = image_type_to_extension($size[2],false); $this->type = $this->type ? $type : $type; $createfunc = 'imagecreatefrom'.$type; $this-> ; 0 と (int)$args[1]>0) {
$im = imagecreatetruecolor((int)$args[0],(int)$args[1]) または error("申し訳ありません、パラメータが間違っています! "); if(!$ args [2]){
$ color = hexdec(str_replace( '#'、 ''、$ args [2]));
$ args [1]);
");
}/// ImagealPhableending ($ Im, False); // これら 2 つの行は、透明チャネルの記録に使用されます
ImageSavealph ($ im, true);
ImageInterlace ($ im, true); return $im;
}
/*
*サムネイルを生成
*@param int $w 新しい画像の幅
*@param int $h 新しい画像の幅
*@param string/bool $color オプション、新しい画像 背景色、 false または空は透明です
*@param bool $lashen オプション、伸縮するかどうか、デフォルトは伸縮しません
*/
function suolue($w = null,$h = null,$color = false,$ lashen = false ) {
を使用して$w = $h * $w_o/$h_o;
}elseif ($w != null and $h == null){
size = null
$im = $this->create( $w,$h,$color);
$w_n = $w;
$h_n = $h; {
$w_n = $h* $w_o/$h_o; = $w;
$h_n = $h
//imagedestroy($this->im); $this-
/*
*画像に書き込みます
*@param string $str 書き込む文字列
*@param array $arg 文字列関連パラメータ、連想配列、左は左からの距離、右は右からの距離right 、 left が優先、top は上からの距離、bottom は下からの距離、top が優先; angle は角度、color は 6 桁の 16 進数の色、touming はテキストの透明度、font はフォントです。 file
*/
function write($ str = '' , $arg = array()) {
$arg['angle'] ? '角度'] : 0
$color = $arg['color'] ; ? $arg['color'] : '000000';
$arg['touming'] : 100; ['font'] $arg['font'] ? 'arial.ttf';
$boxarr = imagettfbbox($size,$angle,$font,$str); $boxarr im);
$h = imagey($this->im); $x_l ;$i > $boxarr[$i] : $x_r; $boxarr[$i+1] 破棄*/ i $ iM = $ this- & gt; 作成 ($ width*4, $ height*4)
$ tm = hexdec ('7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff , $ SIZE, $ Angle, $ Angle, $ Angle, $ ANGLE, $width*2,$height*2,$color,$font,$str);
for($i=0;$i for($ii=0;$ii< ;$height*4;$ii++) {
for($i=0;$i , $i) != $tm) {
}
for($i=$width*4-1;$i>0;$i--) {
for($ii=$y_t;$ii if(imagecolorat( $im,$i,$ii) != $tm) {
$x_r = $i;
休憩(2);
}
}
for($i=$height*4-1;$i>0;$i--) {
for($ii=$x_l;$ii& lt;=$x_r;$ii++) {
if(imagecolorat($im,$ii,$i) != $tm) {
$y_b = $i;
休憩(2);
}
}
$x_off = $x_l - $width*2;
$y_off = $y_b - $height*2;
$width = $x_r - $x_l; //精确宽度
$height = $y_b - $y_t; //精确高
imagedestroy($im);
if(isset($arg['left'])) {
$x = (int)$arg['left'] - $x_off;
}elseif (isset($arg['right'])){
$x = $w - (int)$arg['right'] - $width - $x_off;
}else {
$x = ($w - $width)/2 - $x_off;
}
if(isset($arg['top'])) {
$y = (int)$arg['top'] - $y_off + $height;
}elseif (isset($arg['bottom'])){
$y = $h - (int)$arg['bottom'] - $y_off;
}else {
$y = ($h + $height)/2 - $y_off;
}
imagettftext($this->im,$size,$angle,$x,$y,$color,$font,$str);
$this->im を返します。
}
/*
*合并图片(图片水影など)
*@param string/resource $file 图片文件路径またはこの图片标识符
*@param array $arg 文字列相关のパラメータ、一个关联数组、左は左边距離、右は右边距離、左先、上は衶部距離、下は底部距離、上は文字透明度です
*/
function merge($file,$arg = array() ) {
if(is_file($file)) {
$imc = $this->create($file);
}elseif(gettype($file)=='リソース') {
$imc = $file;
}else {
error("没有图片");
}
$touming = $arg['touming'] ? (int)$arg['touming'] : 100 ;
$w = 画像x($this->im);
$h = imagey($this->im);
$width = imagex($imc);
$height = imagey($imc);
if(isset($arg['left'])) {
$x = (int)$arg['left'];
}elseif (isset($arg['right'])){
$x = $w - (int)$arg['right'] - $width;
}else {
$x = ($w - $width)/2;
}
if(isset($arg['top'])) {
$y = (int)$arg['top'];
}elseif (isset($arg['bottom'])){
$y = $h - $height - $arg['bottom'];
}else {
$y = ($h - $height)/2;
}
imagecopymergegray($this->im,$imc,$x,$y,0,0,$width,$height,$touming);
}
/*
*出力画像
*@param string $type
*@param string $filename 要转存文件路径
*@param int $zhiliang jpeg画像特有の、画像鮮明度
*/
機能表示($type = null,$filename = null,$zhiliang = null) {
if($type == null) {
$type = $this->type ? $this->type : 'jpg';
}
if(($type == 'jpeg' または $type == 'jpg') and $zhiliang == null) {
$type = 'jpeg';
$zhiliang = 100;
}
if($filename == null) {
header('Content-type: image/'.$type);
}
$displayfunc = 'image'.$type;
$displayfunc($this->im,$filename,$zhiliang);
imagedestroy($this->im);
}
関数 randcolor($a,$b) {
$a = $a>255 ? 255 : (int)$a;
$a = $a $b = $b>255 ? 255 : (int)$b;
$b = $b for($i=0;$i $color .= str_pad(dechex(mt_rand($a,$b)), 2, "0", STR_PAD_LEFT);
}
$color を返します。
}
}
/*
function error($msg,$debug = false) {
$err = new Exception($msg);
$str = "
n<span>错误:</span>n".print_r($err->getTrace(),1)."n";
if($debug == true) {
file_put_contents(date('Y-m-d').".log",$str);
$str; を返します。
}else{
die($str);
}
}
*/
?>
これは简单的用法实例
复制代代码如下:
$img = 新しい img('a.png');
$m = $img->im;
$im = $img->suolue(100);
$img->im = $m;
$img->suolue(300);
$img->merge($m,array('left'=>0,'top'=>0,'touming'=>60));
$img->merge($im,array('right'=>0,'top'=>0,'touming'=>60));
$img->merge($im,array('left'=>0,'bottom'=>0,'touming'=>60));
$img->merge($im,array('right'=>0,'bottom'=>0,'touming'=>60));
$img->write("春天来了",array('left'=>0,'top'=>0,'size'=>30,'color'=>$img-> ;randcolor(0,180),'angle'=>-45,'font'=>'simfang.ttf','touming'=>80));
$img->write("春天来了",array('left'=>0,'bottom'=>0,'size'=>30,'color'=>$img-> ;randcolor(0,180),'angle'=>45,'font'=>'simfang.ttf','touming'=>80));
$img->write("春天来了",array('right'=>0,'bottom'=>0,'size'=>30,'color'=>$img-> ;randcolor(0,180),'angle'=>-45,'font'=>'simfang.ttf','touming'=>80));
$img->write("春天来了",array('right'=>0,'top'=>0,'size'=>30,'color'=>$img-> ;randcolor(0,180),'angle'=>45,'font'=>'simfang.ttf','touming'=>80));
$img->display("gif");
以上は、pimchanok leuwisetpaibul php 方便水印と短縮図の図形式を紹介しており、pimchanok leuwisetpaibul に関する内容が含まれており、PHP 教則に関心のある友人の助けになることが望ましいです。

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
