当前位置:首页 > PHP > 正文内容

使用php将svg图片转换为png图片

高老师2年前 (2024-01-11)PHP378
(1)、安装composer包
composer require meyfa/php-sv
(2)、包装下方法
/**
 * SVG图片转PNG图片
 * @param $svgFilePath 
 * @param $pngFilePath
 * @param $width
 * @param $height
 * @return void
 * @throws BusinessException
 */
function svgToPng($svgFilePath, $pngFilePath, $width = 200, $height = 200)
{
    // 检查文件
    if (!is_file($svgFilePath)) {
        throw new BusinessException('文件地址不存在');
    }

    // 加载文件
    $image = SVG::fromFile($svgFilePath);

    // 设置图片宽高
    $rasterImage = $image->toRasterImage($width, $height);

    // 保存文件
    imagepng($rasterImage, $pngFilePath);
(3)、调用测试
svgToPng('./1.svg','777.png')

(4)、质量最高的方式是下面的方式

// 创建 Imagick 实例
$imagick = new Imagick();
// 读取 SVG 文件
$imagick->readImage('input.svg');
// 设置图像分辨率(DPI)以提高输出质量
$imagick->setResolution(300, 300);
// 将图像格式转换为 PNG
$imagick->setImageFormat('png');
// 保存为 PNG 文件
$imagick->writeImage('output.png');
// 释放资源
$imagick->clear();
$imagick->destroy();

安装扩展只需要将php dll放在ext 其他的dll扔在php目录就行





扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/699.html

分享给朋友:

“使用php将svg图片转换为png图片” 的相关文章

php 将数组键值转为变量

php 将数组键值转为变量

<?php $data=array('a'=>1,'b'=>2,'c'=>3,'d'=>4); extract($data); var_dump($a,$b,$c,$d); ?>在人人商城中捡到的...

PHP异常处理,PHP自定义错误,PHP记录错误日志

PHP异常处理,PHP自定义错误,PHP记录错误日志

面试中PHP面试官会问调用一个不存在的方法,如何知道是哪个文件哪行调用的?假设方法是getWorkLoad()回答1:开启PHP错误输出,PHP会输出Fatal error: Call to undefined function getWorkLoad() in D:\wwwroot\thinkpa...

redis订阅和发布,redis消息订阅与发布, phpredis订阅和发布

redis订阅和发布,redis消息订阅与发布, phpredis订阅和发布

Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者(publisher),订阅者(subscriber)和频道(channel)。 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个...

php执行慢原因查找

php执行慢原因查找

今天帮朋友查询wordpress执行超级慢的原因,特此记录开启fpm的慢日志,记录执行超过30秒的脚本request_slowlog_timeout = 30 slowlog = var/log/slow.log查看日志[23-May-2019 17...

PHP yield  PHP协程,PHP协程用法学习

PHP yield PHP协程,PHP协程用法学习

【一】.迭代器迭代是指反复执行一个过程,每执行一次叫做一次迭代。比如下面的代码就叫做迭代:1.  <?php   2.  $data = ['1', '2', &...

PHP Warning:  ftok(): Project identifier is invalid

PHP Warning: ftok(): Project identifier is invalid

在使用ftok生成ipc进程通信key尝试将第二个参数项目标识符传入字符串报错:PHP Warning:  ftok(): Project identifier is invalid,查阅资料发现第二个字符串只能是1个字符串,长度为1....