ホームページ バックエンド開発 PHPチュートリアル PHPは画像に長方形のフレームを追加し、透かしを追加します

PHPは画像に長方形のフレームを追加し、透かしを追加します

Jun 13, 2016 pm 01:02 PM
font jpeg size start str

PHP は画像の下に長方形のフレームを追加し、透かしを追加します

<? //统计混合汉字英文字符的实际字符数,只对gb2312码有效 
function str_len($str){ 
$length=0; 
for($i=0;$i<strlen($str);$i++){ 
if(ord($str[$i])>0x80) 
$i++; 
$length++; 
} 
return $length; 
} 

//待添加水印图片 
$imagefile = "3.jpg"; 

//待添加文字 
$str = "照片由戈多上传于".date("Y年m月d日H时i分s秒"); 

//由于掺杂汉字,原生函数无法统计真实字符数,造成水印文字无法居中 
//所以自己写了个函数统计,如果有mbstring库支持,换用mb_strlen也可以 
$len = str_len($str); 

//如果源程序基于utf-8编码,不需要做字符转换,删除此行 
$str = iconv('gb2312','utf-8',$str); 

//获取原图大小 
$size = getimagesize($imagefile); 

//底边矩形高度 
$bottom_height = 20; 

//字体大小 
$font_size = 10; 

$im = imagecreatetruecolor($size[0], $size[1]+$bottom_height); 

//底边矩形背景色,修改最后三个RGB参数改变颜色 
$bgcolor = imagecolorallocate($im,100,120,100); 

//字体颜色 
$ftcolor = imagecolorallocate($im,255,255,255); 
imagefill($im,0,0,$bgcolor); 

//默认从jpeg创建,如从其他图片创建,可根据扩展名选择函数 
$jpeg = imagecreatefromjpeg($imagefile); 
imagecopy($im,$jpeg,0,0,0,0,$size[0],$size[1]); 

$start_x = ($size[0]-$len*$font_size)/2; 
$start_x = ($start_x>0?$start_x:0); 
$start_y = $size[1]+$font_size+($bottom_height-$font_size)/2; 

//C:/windows/fonts/SIMHEI.TTF为ttf字库文件,此处为黑体 
imagettftext($im,$font_size,0,$start_x,$start_y,$ftcolor,"C:/windows/fonts/SIMHEI.TTF",$str); 

header("Content-type: image/jpeg"); 
imagejpeg($im); 
imageclose($im); 
imageclose($jpeg); 
?> 

ログイン後にコピー

?

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

JavaのFile.length()関数を使用してファイルのサイズを取得します。 JavaのFile.length()関数を使用してファイルのサイズを取得します。 Jul 24, 2023 am 08:36 AM

ファイルのサイズを取得するには、Java の File.length() 関数を使用します。ファイル操作を扱うとき、ファイル サイズは非常に一般的な要件です。Java では、ファイルのサイズを取得するための非常に便利な方法、つまり length( ) File クラスのメソッド。この記事では、このメソッドを使用してファイルのサイズを取得する方法と、対応するコード例を紹介します。まず、サイズを取得したいファイルを表す File オブジェクトを作成する必要があります。 File オブジェクトを作成する方法は次のとおりです: Filef

docker start が起動できない場合はどうすればよいですか? docker start が起動できない場合はどうすればよいですか? Oct 21, 2022 pm 03:43 PM

Docker の起動に失敗した場合の解決策: 1. 実行ステータスを確認し、「echo 3 &gt; /proc/sys/vm/drop_caches」コマンドを使用して占有メモリを解放します; 2. 「$netstat -nltp|grep .. .」を使用します。 「」コマンドでポートが占有されているかどうかを確認します。オンライン後に占有されていることが判明した場合は、空いているポートに変更して再起動してください。

Python の Pygame Font モジュール - テキストとフォントの使用方法? Python の Pygame Font モジュール - テキストとフォントの使用方法? Apr 23, 2023 pm 11:19 PM

Pygame のフォント テキストとフォント Pygame は、pygame.font モジュールを使用してフォント オブジェクトを作成し、テキストを描画するという目的を達成します。このモジュールの一般的に使用されるメソッドは次のとおりです。 名前 説明 pygame.font.init() フォント モジュールの初期化 pygame.font.quit() フォント モジュールの初期化解除 pygame.font.get_init() フォント モジュールが初期化されているかどうかを確認し、ブール値を返します。 pygame.font.get_default_font() は、デフォルトのフォントのファイル名を取得します。システム内のフォントのファイル名を返します pygame.font.get_fonts() はすべてを取得します

jpegとはどのような画像圧縮符号化規格ですか? jpegとはどのような画像圧縮符号化規格ですか? Dec 31, 2020 pm 02:32 PM

JPEG は、連続階調静止画の圧縮符号化規格であり、主に予測符号化、離散コサイン変換、エントロピー符号化の統合符号化方式を使用して、冗長な画像と色データを除去し、画像を変換できる非可逆圧縮形式です。必要なストレージ容量が少なく、画像データにある程度の損傷を与えます。

jpegとは何の形式ですか jpegとは何の形式ですか Nov 25, 2022 pm 02:46 PM

JPEGは非可逆圧縮方式で保存された画像形式で、ファイル拡張子は「.jpg」または「.jpeg」となり、圧縮された結果、出力画像の画質とサイズの両方が考慮されません。 JPEG 形式は、Web 上で写真画像を保存および送信するための選択肢として長い間使用されてきました。現在、ほとんどすべてのオペレーティング システムには、JPEG 画像の視覚化をサポートするビューアが搭載されており、JPEG 拡張子で保存されることもよくあります。

PHPを使用してJPEG画像ファイルをWBMP画像ファイルに変換します PHPを使用してJPEG画像ファイルをWBMP画像ファイルに変換します Mar 21, 2024 am 10:36 AM

この記事では、PHP を使用して JPEG 画像ファイルを WBMP 画像ファイルに変換する方法について詳しく説明します。非常に実用的であると編集者が考えたので、参考として共有します。この記事を読んで何かを得ることができれば幸いです。 JPEG 画像ファイルから WBMP 画像ファイルへの変換の概要 JPEG (Joint Photographic Experts Group) と WBMP (Wireless Bitmap) は、広く使用されている 2 つの画像ファイル形式です。 JPEG は高品質の写真や画像を保存するために使用され、WBMP はモバイル デバイスや電子ペーパー ディスプレイで一般的に使用される単純な白黒画像を保存するために使用されます。この記事では、php を使用して JPEG 画像ファイルを WBMP 画像ファイルに変換する方法を説明します。 GD ライブラリをインストールする手順 まず、人気のある PHP である GD ライブラリをインストールする必要があります。

ノードの起動でエラーが報告された場合の対処方法 ノードの起動でエラーが報告された場合の対処方法 Dec 29, 2022 pm 01:55 PM

ノード起動エラーの解決策: 1. ターミナルで直接「node xx.js」を実行します; 2. 起動スタートアップ項目「scripts」を追加します: {"test": "echo \"Error: no test specific\" && exit 1 " ,"start":"node service.js"}"; 3. 「npm start」を再実行します。

HEIF形式とJPEG形式の画質は同じですか? HEIF形式とJPEG形式の画質は同じですか? Mar 17, 2023 pm 06:17 PM

いいえ、HEIF 形式の画質の方が優れています。 HEIC は、画質を維持しながら画像が占めるディスクまたはメモリ容量を削減する高忠実度の圧縮形式ですが、JPEG は非可逆画像形式であるため、HEIC で撮影した同じ画像のサイズは小さくなりますが、HEIC の画質は優れています。 HEIF はカプセル化形式として、JPEG よりもはるかに多くのものを保持でき、静止画像や EXIF 情報メタデータだけでなく、アニメーション、画像シーケンス、さらにはビデオ、オーディオなども保存できます。はるかに豊かです。

See all articles