dwr / avatar-bundle
一个简单的 Symfony 3.x & Symfony 2.x 扩展包,用于使用 GD 创建头像图片。
Requires
- php: ^5.6 || ^7.2
- symfony/framework-bundle: 3.*
Requires (Dev)
- phpunit/phpunit: 4.3.*
- satooshi/php-coveralls: dev-master
Suggests
- symfony/twig-bundle: 3.*
This package is not auto-updated.
Last update: 2024-09-28 16:41:28 UTC
README
DwrAvatarBundle
本扩展包为 Symfony2 和 Symfony3 提供简单的图像头像生成支持。
头像示例
plainAvatars
profileAvatars
为了生成头像,您可以
在控制器中
public function indexAction() { $avatar = new AvatarFactory(); //for plainAvatar $plainAvatar = $avatar->generate(new PlainAvatar(140, 140)); //for profileAvatar $profileAvatar = $avatar->generate(new ProfileAvatar(140, 140)); return array( 'plainAvatar' => $plainAvatar->render() 'profileAvatar' => $profileAvatar->render() ); }
并在一个 视图 文件(twig)中
<img src="data:image/jpg;base64,{{ plainAvatar }}" > <img src="data:image/jpg;base64,{{ profileAvatar }}" >
安装
安装是一个快速的三步过程
- 使用 composer 下载 DwrAvatarBundle
- 启用扩展包
- 将路由添加到 routing.yml 以在浏览器中打开示例
步骤 1: 使用 composer 下载 DwrAvatarBundle
在 composer.json 中添加 DwrAvatarBundle 版本 2.0(针对 Symfony 3)
{ "require": { "dwr/avatar-bundle": "2.0" } }
在 composer.json 中添加 DwrAvatarBundle 版本 1.0(针对 Symfony 2)
{ "require": { "dwr/avatar-bundle": "1.0" } }
运行以下命令下载扩展包
$ php composer.phar require dwr/avatar-bundle
Composer 会将扩展包安装到您的项目目录 vendor/dwr/avatar-bundle
中。
步骤 2: 启用扩展包
在 kernel 中启用扩展包
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Dwr\AvatarBundle\DwrAvatarBundle(), ); }
步骤 3: 将路由添加到 routing.yml 以在浏览器中打开示例
dwr_avatar: resource: "@DwrAvatarBundle/Controller/" type: annotation prefix: /dwr_avatarbundle
恭喜!您现在可以在您的 symfony 应用程序中生成头像了。示例如何显示 PlainAvatar,您可以在:yours-application-url/dwr_avatarbundle/avatar 中找到。
用法
在 base64 流中生成头像
控制器
public function indexAction() { $avatar = new AvatarFactory(); //for plainAvatar $plainAvatar = $avatar->generate(new PlainAvatar(140, 140)); //for profileAvatar $profileAvatar = $avatar->generate(new ProfileAvatar(140, 140)); return array( 'plainAvatar' => $plainAvatar->render() 'profileAvatar' => $profileAvatar->render() ); }
视图(twig)
<img src="data:image/jpg;base64,{{ plainAvatar }}" > <img src="data:image/jpg;base64,{{ profileAvatar }}" >
输出
如何生成 base64 流中头像的示例也存储在 AvatarBundle/Controller/DefaultController.php。
生成头像并将其保存到文件
public function indexAction() { $avatar = new AvatarFactory(); $plainAvatar = $avatar->generate(new PlainAvatar(140, 140)); return array( 'plainAvatar' => $plainAvatar->save('web/images/avatar/directory') ); }
上述示例将头像文件生成到目录中。目录名称作为函数 save 的参数传入。文件名将自动根据此生成
$filename = date('YmdHis') . uniqid() . '.jpg';
如果您想生成具有自己文件名的头像,可以将文件名(例如 image.jpg)作为 save 方法的第二个参数传入。
public function indexAction() { $avatar = new AvatarFactory(); $plainAvatar = $avatar->generate(new PlainAvatar(140, 140)); return array( 'plainAvatar' => $plainAvatar->save('web/images/avatar/directory', 'image.jpg') ); }
变更日志
请参阅 CHANGELOG 了解最近更改的更多信息。
故障排除
- 请确保您的 Web 服务器已安装 GD。 https://php.ac.cn/manual/en/function.gd-info.php