mohsen-mhm/ laravel-image-charts
Image-charts PHP 库,用于生成图像格式的图表
v1.5.3
2024-07-14 20:25 UTC
Requires
- php: ^8.2|^8.3
- laravel/framework: ^9.0|^10.0|^11.0
README
Image-charts PHP 库,用于为您的 Laravel 应用程序生成图像格式的图表。
安装
您可以通过 Composer 安装此软件包
composer require mohsen-mhm/laravel-image-charts
发布配置文件
要发布配置文件,请使用以下命令
php artisan vendor:publish --provider="MohsenMhm\LaravelImageCharts\Providers\ImageChartsServiceProvider" --tag="config"
这将创建一个名为 image-charts.php
的配置文件,位于 config
目录中。
配置
您可以在 config/image-charts.php
文件中配置软件包设置。默认配置值如下
return [ 'base_url' => env('IMAGE_CHARTS_BASE_URL', 'https://image-charts.com/chart.js/2.8.0'), 'default_bg_color' => '#2B2B2B', 'default_dataset_bg_color' => '#FCBB3D', 'default_dataset_border_color' => '#FCBB3D', 'default_width' => '900', 'default_height' => '600', 'default_title_text' => 'mohsen.sbs', 'default_image_path' => storage_path('app/public/charts'), ];
使用方法
生成图表 URL
以下是如何使用此软件包生成图表 URL 的示例
use MohsenMhm\LaravelImageCharts\ImageChart; $chartUrl = (new ImageChart()) ->setData([10, 20, 30]) ->setLabels(['January', 'February', 'March']) ->getUrl();
或使用 Facade
use MohsenMhm\LaravelImageCharts\Facades\ImageChartFacade as ImageChart; $chartUrl = ImageChart::setData([10, 20, 30]) ->setLabels(['January', 'February', 'March']) ->getUrl();
然后您可以使用此 URL 在您的应用程序中显示图表。
<img src="{{ $chartUrl }}" alt="Chart">
下载图表图像
您还可以将生成的图表图像下载到本地文件。如果没有指定路径,则图像将保存到配置文件中指定的默认路径。
use MohsenMhm\LaravelImageCharts\ImageChart; $fullImagePath = (new ImageChart()) ->setData([10, 20, 30]) ->setLabels(['January', 'February', 'March']) ->getImage();
或使用 Facade
use MohsenMhm\LaravelImageCharts\Facades\ImageChartFacade as ImageChart; $fullImagePath = ImageChart::setData([10, 20, 30]) ->setLabels(['January', 'February', 'March']) ->getImage();
这将保存图像到默认路径,并使用生成的文件名,并返回保存图像的完整路径。您也可以指定自定义路径
use MohsenMhm\LaravelImageCharts\ImageChart; $customPath = storage_path('app/public/custom_charts'); $fullImagePath = (new ImageChart()) ->setData([10, 20, 30]) ->setLabels(['January', 'February', 'March']) ->getImage($customPath);
或使用 Facade
use MohsenMhm\LaravelImageCharts\Facades\ImageChartFacade as ImageChart; $customPath = storage_path('app/public/custom_charts'); $fullImagePath = ImageChart::setData([10, 20, 30]) ->setLabels(['January', 'February', 'March']) ->getImage($customPath);
输出
完整使用示例
use MohsenMhm\LaravelImageCharts\ImageChart; try { $imageChart = (new ImageChart()) ->setLabels(['January', 'February', 'March']) ->setData([10, 20, 30]) ->setBackgroundColor('#FFFFFF') ->setDatasetBackgroundColor('#FF0000') ->setDatasetBorderColor('#0000FF') ->setWidth('800') ->setHeight('400') ->setTitleText('Monthly Data'); $chartUrl = $imageChart->getUrl(); $imagePath = $imageChart->getImage(); $binaryData = $imageChart->getBinary(); echo "Chart URL: $chartUrl\n"; echo "Image saved at: $imagePath\n"; echo "image in binary format: $binaryData\n"; } catch (InvalidArgumentException $e) { echo 'Error: ' . $e->getMessage(); }
输出
Chart URL: https://image-charts.com/chart.js/2.8.0 ...
Image saved at: .../storage/app/public/charts/chart_1718432986.png
image in binary format: b"ëPNG \x1A \x00\ ..."
方法
ImageChart 类提供了以下方法来配置您的图表
setData(array $data)
:设置图表的数据点。setLabels(array $labels)
:设置图表的标签。setBackgroundColor(string $color)
:设置图表的背景颜色。setDatasetBackgroundColor(string $color)
:设置数据集的背景颜色。setDatasetBorderColor(string $color)
:设置数据集的边框颜色。setWidth(string $width)
:设置图表的宽度。setHeight(string $height)
:设置图表的高度。setTitleText(string $title)
:设置图表的标题文本。getUrl()
:生成并返回图表 URL。getImage(string $path = null)
:将图表图像下载到指定的本地文件路径,或使用未指定时默认路径。返回保存图像的完整路径。getBinary()
:生成并返回二进制格式的图表图像。
许可证
此软件包是开源软件,许可证为 MIT 许可证。
贡献
欢迎贡献!请随时在 GitHub 上提交拉取请求。
更多图表类型和功能即将推出... :)
作者
Mohsen Mohammadi - 开发者。如需更多信息,请访问 GitHub 存储库。