Golang修改图片JPEGjpg的大小和质量
1 借助 nfnt/resize 修改图片的尺寸
2 借助 原生的 image/jpeg 修改质量
package fyimage
import ("bytes""github.com/gogf/gf/os/glog""github.com/nfnt/resize""image""image/jpeg"
)// 默认最大高度
const MaxHeight uint = 1080// 当文件是JPEG格式时,对文件进行压缩。
// 压缩的方式主要是借助原生的image/jpeg 修改图片的质量和像素的大小。
// 该方案并不是最优的方案,通过客户端首次进行压缩会大大减少服务端的压力
// 文件小于 1MB 或者不是jpeg格式,不再压缩
func CompressImageResource(data []byte) []byte {if len(data) < 1024*1024 {return data}img, _, err := image.Decode(bytes.NewReader(data))if err != nil {glog.Warningf("jpeg compress failed,err:%v",err)return data}// 修改图片的大小m := resize.Resize(0, MaxHeight, img, resize.Lanczos3)buf := bytes.Buffer{}// 修改图片的质量err = jpeg.Encode(&buf, m, &jpeg.Options{Quality: 60})if err != nil {glog.Warningf("jpeg compress failed,err:%v",err)return data}if buf.Len() > len(data) {return data}return buf.Bytes()
}
Golang修改图片JPEGjpg的大小和质量相关推荐
- 如何修改图片像素尺寸大小?如何改图片大小尺寸?
修改图片尺寸是一项常见的图片处理技术,可以帮助我们将图片调整为不同的尺寸,以适应不同的用途.在进行修改图片大小(https://www.yasuotu.com/size)的时候,需要注意照片的比例.设 ...
- 怎么修改图片的kb大小?如何缩小照片kb?
在平时的工作生活当中,我们经常需要使用到图片,当这些图片的kb过大时就会导致上传失败的情况发生,这时候应该怎么办呢?其实只需要将图片压缩就可以了,今天来给大家分享一款图片压缩工具,操作简单无需下载,几 ...
- Linux下修改图片格式和大小
因为一直用的是ubuntu系统,所以习惯了用终端来操作一些东西,最近发现在linux上的修改图片的工具非常好用,在这里给大家分享一下. 这个工具就是ImageMagick;你会发现他非常 的好用,只需 ...
- PS CC 2015 修改图片颜色和大小
为什么修改图片颜色? [预期:]设计师给的设计稿两种颜色的图片,图片尺寸要求是48x48像素,一张绿色,一张白色. [实际]绿色图片符合要求,白色图片是40x40像素,偏小.测试妹子不干了!!! [解 ...
- 怎么快速修改图片的尺寸大小?怎么修改图片分辨率?
当我们在网上看到一张图片非常好看的图片,想要当做电脑或者手机壁纸的时候发现图片的尺寸不合适,那么我们怎么才能把图片调整到合适的尺寸呢?别着急,今天我就为大家带来一款简单易操作的在线P图工具(https ...
- 论坛怎么修改服务器照片大小,C# 如何修改图片的储存大小,比如10MB改为5MB。...
你是指你希望"程序化"的自动伸缩图片大小吗? 你这个方案的确可以做,但是实现起来有点绕弯,其实目前各大网站做法是这么实现的: 准备2~3种同一个图片的不同大小格式(如完整尺寸70M ...
- php修改图片为指定大小,php裁剪图片为固定大小步骤详解
这次给大家带来php裁剪图片为固定大小步骤详解,php裁剪图片为固定大小的注意事项有哪些,下面就是实战案例,一起来看一下. 做一个首页调用图像,有时需要获得固定大小的图像,因为首页的图像位置通常由设计 ...
- C# 修改图片文件分辨率大小
将文件夹及子文件夹下的所有.jpg格式的图片宽度调整成统一大小,并包存到指定文件夹内. public static void ResizeImg(string srcFold, string desF ...
- php中怎么批量修改图片大小,如何一次性更改多张图片尺寸,怎样批量修改图片的尺寸大小...
假如你从业的是文职类的工作中,那麼一定会有必须解决很多图片文档的情况下,碰到这类状况我提议大伙儿应用第三方软件来解决图片.文中强烈推荐一款超棒的多用途图片解决专用工具,不但适用图片一键批量处理,另外有 ...
最新文章
- 谈谈秒杀系统的落地方案
- matlab 基于GUI的PID研究
- Duilib学习笔记《04》— 窗体显示
- 鸿蒙系统被泼冷水,给鸿蒙泼冷水:见不得同行的好,是人间最可恶的蠢和恶
- java对csv格式的读写操作
- 吐血整理全网最全Spring面试题之高级篇(一)(共25题,附超详细解答)
- Redis学习(1)NoSQL非关系型数据库、Redis概述、Linux安装Redis
- 复制错误:安装程序无法复制文件 Atapi.sys
- Keil编译后——代码长度超过版本限制
- Python读文件报错:SyntaxError: Non-ASCII character in file
- 用树莓派学Linux(三)--------SSH端口转发,跳出局域网的树莓派控制
- php 获取扩展模块信息,查看PHP opcode扩展模块及Web服务
- Python-算法思维4.0.1迭代算法
- 使用kubespary安装k8s集群
- c语言赛车游戏代码大全,初学者天地游戏制作--赛车游戏的完整图
- 是不是太胖了(C语言)
- The error occurred while setting parameters,Communications The error may involve defaultParameterMap
- Day73.SpringMVC案例:影院系统、使用Restful风格重构
- java 生成ecc证书_升级支持ECC证书指南
- 第一行代码:Android(第三版)
热门文章
- fatal error: cusparse.h: No such file or directory compilation terminated. error: command ‘/usr/loca
- bootstrap 获取表格修改的结果_BootStrap实现带有增删改查功能的表格(DEMO详解)
- EndeavourOS安装配置全攻略!
- 2020年腾讯丶百度丶字节丶OPPO等Android面试大全,附带教你如何写好简历
- 迅雷高速下载免安装 Kali Linux
- 计算机主机发出滴滴声音怎么办,电脑主机有滴滴声音是怎么回事?
- 交互技术前沿学习分享——利用眼动追踪改良广告界面
- 如何让电脑带双显示屏,显示不同的内容
- 由一道bash jail题引出的琐事@_@
- 计算机硬件系统的外观组成图,计算机硬件系统及组装.doc