mmnijas / avatar
头像生成器是一个轻量级的PHP包,用于根据用户名生成头像。它提供两种灵活的头像生成模式,基于字母的头像和随机图片头像。
1.0.2
2024-09-21 08:12 UTC
Requires
- php: >=8.1
- illuminate/cache: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
- intervention/image: ^2.7
Requires (Dev)
- phpunit/phpunit: ^11.3
README
这是一个包含所有内容的完整 README.md
文件
# Avatar Generator A simple and customizable avatar generator for PHP that creates PNG images based on user initials. This package uses the Intervention Image library for image manipulation. ## Features - Generates avatar images with user initials. - Customizable image size, background color, and text color. - Uses random dark shades for backgrounds. - Supports single and double initials. ## Installation To install the Avatar Generator package, you can include it in your `composer.json` or run the following command: ```bash composer require mmnijas/avatar ```
要求
- PHP 7.2 或更高版本
- Intervention Image库
您可以通过Composer安装Intervention Image库
composer require intervention/image
使用方法
路由定义
首先,您需要在您的 web.php
文件中定义一个生成头像的路由
Route::get('/avatar', [AvatarController::class, 'generateAvatar'])->name('avatar');
控制器函数
在您的控制器(例如,AvatarController
)中添加以下函数
use Mmnijas\Avatar\Generate; use Illuminate\Http\Request; public function generateAvatar(Request $request) { return Generate::avatar($request->all()); }
显示头像
您可以使用以下代码在Blade视图中生成并显示头像图片
<img src="{{ route('avatar', ['name' => 'Nijas M M', 'size' => 200]) }}" alt="Avatar" />
自定义选项
您可以通过传递额外的参数来自定义头像
- name: 从中提取首字母的完整姓名(默认为 "John Doe")。
- size: 头像图片的大小(以像素为单位,默认为 200)。
- bg: 以十六进制格式表示的背景颜色(可选)。
- color: 以十六进制格式表示的文本颜色(可选)。
带自定义示例
<img src="{{ route('avatar', ['name' => 'Nijas M M', 'size' => 200, 'bg' => '#3498db', 'color' => '#ffffff']) }}" alt="Avatar" />
示例代码
以下是如何设置所有内容的完整示例
-
在
web.php
中 定义路由Route::get('/avatar', [AvatarController::class, 'generateAvatar'])->name('avatar');
-
在
AvatarController
中的 控制器函数use Mmnijas\Avatar\Generate; use Illuminate\Http\Request; public function generateAvatar(Request $request) { return Generate::avatar($request->all()); }
-
在您的Blade视图中 显示头像
<img src="{{ route('avatar', ['name' => 'John Doe', 'size' => 150]) }}" alt="Avatar" />
<img src="{{ route('avatar', [ 'name' => 'Nijas M M', 'size' => 200, 'bg' => '#3498db', 'color' => '#ffffff' ]) }}" alt="Avatar" />
许可证
此软件包是开源软件,根据MIT许可证授权。
贡献
如果您想为此软件包做出贡献,请随时提交一个pull request或打开一个issue。
致谢
感谢 Intervention Image 库提供的易于图像处理的工具。
composer require mmnijas/avatar
use App\Http\Controllers\TestController;
Route::get('/avatar', [TestController::class, 'generateAvatar'])->name('avatar');