画像にストロークとモザイクを追加する PHP メソッド、_PHP チュートリアル
PHPを使用して画像にストロークとモザイクを追加する方法、
この記事の例では、PHP で画像にストロークとモザイクを追加する方法を説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです
モザイク: void imagemask (リソース画像、int x1、int y1、int x2、int y2、int deep)
imagemask() は、座標 x1,y1 ~ x2,y2 (画像の左上隅が 0,0) の長方形領域にモザイクを追加します。
深さはぼかしの度合いで、数値が大きいほどぼやけます。
ストローク: void imagetextouter (リソース画像、int サイズ、int x、int y、文字列の色、文字列フォントファイル、文字列テキスト、文字列のアウターカラー)
imagetextouter() は、座標 x、y (左上隅は 0, 0) から開始して、image で表される画像上に文字列テキストを描画します。色は color、境界線に使用される色は outcolor、指定された TrueType です。 by fontfile は使用するフォントファイルです。
フォントファイルが指定されていない場合は、gdの内部フォントが使用されます。 PHPが使用するgdライブラリによっては、フォントファイルが「/」で始まらない場合、ファイル名に「.ttf」が付加され、ライブラリ定義のフォントパスが検索されます。
フォント ファイルが指定されている場合、x、y で表される座標は最初の文字の基点 (おそらく文字の左下隅) を定義します。それ以外の場合、x、y は最初の文字の右上隅を定義します。
fontfile は、使用する TrueType フォントのファイル名です。
text は、フォント内の最初の 255 文字を超える文字にアクセスするために、一連の utf-8 文字 ({ 形式) を含めることができるテキスト文字列です。
color は 16 進形式 #rrggbb の色です。#ff0000 は赤です。
outercolor ストロークの色、16 進数の #rrggbb 形式。
*GDイメージマスク
*
* @copyright ugia.cn
*/
関数 imagemask(&$im, $x1, $y1, $x2, $y2, $deep)
{
for($x = $x1; $x < $x2; $x += $deep)
{
for ($y = $y1; $y < $y2; $y += $deep)
$color = imagecolorat ($im, $x +round($deep / 2), $y +round($deep / 2)); imagefilledrectangle ($im, $x, $y, $x + $deep, $y + $deep, $color); }
}
}
//モザイクの使用例:
header("コンテンツタイプ: 画像/png"); $im = imagecreatefromjpeg("test.jpg"); イメージマスク($im, 57, 22, 103, 40, 8); 画像png($im); 画像破壊($im); ?>
操作効果は以下の図に示されています:
コードをコピーします
コードは次のとおりです:
* gd画像テキスト外側
*
* @copyright ugia.cn
*/
関数 imagetextouter(&$im, $size, $x, $y, $color, $fontfile, $text, $outer)
{
if (!function_exists('imagecolorallocatehex'))
{
関数 imagecolorallocatehex($im, $s)
{
if($s{0} == "#") $s = substr($s,1);
$bg_dec = hexdec($s);
return imagecolorallocate($im,
($bg_dec & 0xff0000) >> 16、
($bg_dec & 0x00ff00) >> 8、
($bg_dec & 0x0000ff)
);
}
}
$ttf = false;
if (is_file($fontfile))
{
$ttf = true;
$area = imagettfbbox($size, $angle, $fontfile, $text);
$width = $area[2] - $area[0] + 2;
$height = $area[1] - $area[5] + 2;
}
それ以外は
{
$width = strlen($text) * 10;
$高さ = 16;
}
$im_tmp = imagecreate($width, $height);
$white = imagecolorallocate($im_tmp, 255, 255, 255);
$black = imagecolorallocate($im_tmp, 0, 0, 0);
$color = imagecolorallocatehex($im, $color);
$outer = imagecolorallocatehex($im, $outer);
if ($ttf)
{
imagettftext($im_tmp, $size, 0, 0, $height - 2, $black, $fontfile, $text);
imagettftext($im, $size, 0, $x, $y, $color, $fontfile, $text);
$y = $y - $height + 2;
}
それ以外は
{
画像文字列($im_tmp, $size, 0, 0, $text, $black);
画像文字列($im, $size, $x, $y, $text, $color);
}
for ($i = 0; $i {
for ($j = 0; $j {
$c = imagecolorat($im_tmp, $i, $j);
if ($c !== $white)
{
imagecolorat ($im_tmp, $i, $j - 1) != $white || imagesetpixel($im, $x + $i, $y + $j - 1, $outer);
imagecolorat ($im_tmp, $i, $j + 1) != $white || imagesetpixel($im, $x + $i, $y + $j + 1, $outer);
imagecolorat ($im_tmp, $i - 1, $j) != $white || imagesetpixel($im, $x + $i - 1, $y + $j, $outer);
imagecolorat ($im_tmp, $i + 1, $j) != $white || imagesetpixel($im, $x + $i + 1, $y + $j, $outer);
// 取消释、花火の発光効果と同じ
/*
imagecolorat ($im_tmp, $i - 1, $j - 1) != $white || imagesetpixel($im, $x + $i - 1, $y + $j - 1, $outer);
imagecolorat ($im_tmp, $i + 1, $j - 1) != $white || imagesetpixel($im, $x + $i + 1, $y + $j - 1, $outer);
imagecolorat ($im_tmp, $i - 1, $j + 1) != $white || imagesetpixel($im, $x + $i - 1, $y + $j + 1, $outer);
imagecolorat ($im_tmp, $i + 1, $j + 1) != $white || imagesetpixel($im, $x + $i + 1, $y + $j + 1, $outer);
*/
}
}
}
imagedestroy($im_tmp);
}
//用法例:
header("コンテンツタイプ: 画像/png");
$im = imagecreatefromjpeg("bluesky.jpg");
$white = imagecolorallocate($im, 255,255,255);
imagetextouter($im, 9, 10, 20, '#000000', "simsun.ttc", '新年快乐', '#ffffff');
imagetextouter($im, 2, 10, 30, '#ffff00', "", 'hello, world!' , '#103993');
imagepng($im);
imagedestroy($im);
?>
ここで説明されている大規模な PHP プログラムの設計が役立つことを望みます。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

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

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

ホットトピック

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

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

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

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