mmnijas/avatar

头像生成器是一个轻量级的PHP包,用于根据用户名生成头像。它提供两种灵活的头像生成模式,基于字母的头像和随机图片头像。

1.0.2 2024-09-21 08:12 UTC

This package is auto-updated.

Last update: 2024-09-21 08:15:12 UTC


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"
/>

示例代码

以下是如何设置所有内容的完整示例

  1. web.php定义路由

    Route::get('/avatar', [AvatarController::class, 'generateAvatar'])->name('avatar');
  2. AvatarController 中的 控制器函数

    use Mmnijas\Avatar\Generate;
    use Illuminate\Http\Request;
    
    public function generateAvatar(Request $request)
    {
        return Generate::avatar($request->all());
    }
  3. 在您的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');