PHP简单实现图片格式转换(jpg转png,gif转png等)_php实例

来源:脚本之家  责任编辑:小易  

确保你的PHP有GD扩展支持im=imagecreatefrompng('图片文件URL');imagejpeg('图片保存URL');www.zgxue.com防采集请勿采集本网。

需求

开发过程中总会遇到一些需求需要对图片格式进行转换。比如 gif转png,jpg转png

pnp的吧 你用画图打开,然后另存为.就行了。不过存的时候要记得,把保存的图片格式改成你 想要得就行了

如最近使用某平台的图片文件识别,居然不支持gif格式,那么就需要将gif处理成png等。

附件里的画图就可以 JGP和GIF 都可以转换

依赖

php扩展 gd 和 exif

可以使用photoshop工具,方法如下: 1、首先zd打开PS软件,然后选择自己需要的JPG格式的图片,在PS中打开。2、接下来回先按快捷键“Ctrl+j”将图片复制出来,防止后面操作对原图片有损。3、然后

实现

你需要 PHP 的 GD 扩展组件来转换 png/gif 到 jpg。注意 jpg 会忽略 alpha(透明度),下面的函数将背景默认为白色,压缩设置为 80%。函数有两个参数:$file=要转换的 png/gif 文件,$jpg=输出的 jpg 文件

/** * 图片格式转换 * @param string $image_path 文件路径或url * @param string $to_ext 待转格式,支持png,gif,jpeg,wbmp,webp,xbm * @param null|string $save_path 存储路径,null则返回二进制内容,string则返回true|false * @return boolean|string $save_path是null则返回二进制内容,是string则返回true|false * @throws Exception * @author klinson <klinson@163.com> */function transform_image($image_path, $to_ext = 'png', $save_path = null){ if (! in_array($to_ext, ['png', 'gif', 'jpeg', 'wbmp', 'webp', 'xbm'])) { throw new \Exception('unsupport transform image to ' . $to_ext); } switch (exif_imagetype($image_path)) { case IMAGETYPE_GIF : $img = imagecreatefromgif($image_path); break; case IMAGETYPE_JPEG : case IMAGETYPE_JPEG2000: $img = imagecreatefromjpeg($image_path); break; case IMAGETYPE_PNG: $img = imagecreatefrompng($image_path); break; case IMAGETYPE_BMP: case IMAGETYPE_WBMP: $img = imagecreatefromwbmp($image_path); break; case IMAGETYPE_XBM: $img = imagecreatefromxbm($image_path); break; case IMAGETYPE_WEBP: //(从 PHP 7.1.0 开始支持) $img = imagecreatefromwebp($image_path); break; default : throw new \Exception('Invalid image type'); } $function = 'image'.$to_ext; if ($save_path) { return $function($img, $save_path); } else { $tmp = __DIR__.'/'.uniqid().'.'.$to_ext; if ($function($img, $tmp)) { $content = file_get_contents($tmp); unlink($tmp); return $content; } else { unlink($tmp); throw new \Exception('the file '.$tmp.' can not write'); } }}

请问php 中的gd如何将ico图片转换成其他图片格式?比如转换成jpg gif 问题推荐使用开源的Ico类。类的源代码和实例已经为你写好,你只要执行index.php

使用

你需要 PHP 的 GD 扩展组件来转换 png/gif 到 jpg。注意 jpg 会忽略 alpha(透明度),下面的函数将背景默认为白色,压缩设置为 80%。函数有两个参数:$file=要转换的 png/gif 文件,$jpg=输出的 jpg 文件

// 转换后保存在test.pngtransform_image($url, 'png', './test.png');transform_image($filepath, 'png', './test.png');// 转换后二进制结果直接返回transform_image($url, 'png');transform_image($filepath, 'png');

用下面代码(PHP必须支持GD库)input=上传的BMP文件名output=要存的jpeg文件名image=imagecreatefromwbmp($input);imagejpeg($image,$output);imagedestroy($image);unlink($input);用GD库还可以加水印、改大小等,网上都有,一搜就行。我是按照PHP手册你可以去后盾人平台看一下,里面的东西不错内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • php中使用imagick读取pdf并生成png缩略图实例
  • php使用imagick读取pdf生成png缩略图的两种方法
  • php输出图像imagegif、imagejpeg与imagepng函数用法分析
  • php缩放gif和png图透明背景变成黑色的解决方法
  • php实现生成透明背景的png缩略图函数分享
  • php基于gd库的缩略图生成代码(支持jpg,gif,png格式)
  • php 处理png图片白色背景色改为透明色的实例代码
  • php实现对png图像进行缩放的方法(支持透明背景)
  • 支持png透明图片的php生成缩略图类分享
  • php添加png图片背景透明水印操作类定义与用法示例
  • php 实现svg转化png格式的方法分析
  • php curl请求接口并获取数据的示例代码
  • thinkphp框架使用jwttoken的方法详解
  • php无限级栏目分类读取的实现代码
  • thinkphp框架实现ftp图片上传功能示例
  • 浅谈laravel核心解读之console内核
  • php中数据库单例模式的实现代码分享
  • php set_include_path函数设置 include_path 配置选项
  • php的laravel框架快速集成微信登录的方法
  • php yaf框架的简单安装使用教程(推荐)
  • 解决php extension 加载顺序问题
  • PHP怎么转换图片格式?
  • php怎么把常见的图片格式转换成jpg格式?
  • PHP图片怎么转换为JPEG格式的啊
  • php 转换图片格式问题
  • 哪里有PHP图片格式转换成JPG或者BMP格式的图片转换工具下载啊?
  • 提供一些简单的图片格式的转换方法!
  • 怎么把JPG格式的图片转换成PSD格式的?请详细点。。。
  • PHP 下载图片转换格式的问题?
  • php中图片格式转换为ico格式
  • 请问怎么用php实现将图片上传后转换为自己设定的东西,比如460px宽240px,然后保存到文件夹zhuanhuan下面
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全php基础php技巧php实例php文摘php模板首页php编程php实例php中使用imagick读取pdf并生成png缩略图实例php使用imagick读取pdf生成png缩略图的两种方法php输出图像imagegif、imagejpeg与imagepng函数用法分析php缩放gif和png图透明背景变成黑色的解决方法php实现生成透明背景的png缩略图函数分享php基于gd库的缩略图生成代码(支持jpg,gif,png格式)php 处理png图片白色背景色改为透明色的实例代码php实现对png图像进行缩放的方法(支持透明背景)支持png透明图片的php生成缩略图类分享php添加png图片背景透明水印操作类定义与用法示例php 实现svg转化png格式的方法分析php curl请求接口并获取数据的示例代码thinkphp框架使用jwttoken的方法详解php无限级栏目分类读取的实现代码thinkphp框架实现ftp图片上传功能示例浅谈laravel核心解读之console内核php中数据库单例模式的实现代码分享php set_include_path函数设置 include_path 配置选项php的laravel框架快速集成微信登录的方法php yaf框架的简单安装使用教程(推荐)解决php extension 加载顺序问题php获取数组长度的方法(有实例)微信公众平台实现获取用户openid教你如何使用php session使用php生成二维码的两种方法(带php发送get、post请求的6种方法简php中把stdclass object转array的微信公众平台网页授权获取用户基laravel框架数据库curd操作、连贯php字符串的连接的简单实例php删除数组中空值的方法介绍多个laravel项目如何共用migrations详解php桌面中心(一) 创建数据库thinkphp模板中使用自定义函数的方法一个php的zip压缩类分享php去掉json字符串中的反斜杠\及去掉双引php使用alexa api获取网站的alexa排名例子thinkphp中create方法深入探究php实现微信网页授权开发教程php设计模式之观察者模式入门与应用案例详laravel 根据不同组织加载不同视图的实现
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved