SiriBlog

siriyang的个人博客


  • 首页

  • 排行榜

  • 标签115

  • 分类37

  • 归档323

  • 关于

  • 搜索

Hexo:将大尺寸图片等比列压缩到896像素的宽度

发表于 2020-09-18 更新于 2021-10-29 分类于 计算机 , 技术 , Python 阅读次数: Valine:
本文字数: 1k 阅读时长 ≈ 1 分钟

  由于Hexo文章显示区域最大默认为896像素的宽度,当使用过大的图片的时候图片会被浏览器压缩显示,但是浏览器压缩的图片往往显得模糊。所以干脆自己写一个脚本来一开始就将图片的尺寸压缩到896像素以下,这样既能得到较好的显示效果,也能节省图床空间,减少图片传输加载时间。

resizeto896.py
1
2
3
4
5
6
7
8
9
10
11
12
13
import os
from PIL import Image

in_path="./in"
out_path="./out"

img_file_list=os.listdir(in_path)

for i in img_file_list:
img=Image.open(in_path+'/'+i)
if(img.size[0]>896):
img=img.resize((896,int(896*img.size[1]/img.size[0])))
img.save(out_path+'/'+i)

  只需将要压缩的图片放到in目录下,然后运行脚本,压缩后的图片会保存到out文件夹下。由于都是使用的比较基础的库,所以也不需要额外安装一些包,迁移比较方便。之后可以写一个批处理文件直接双击运行。

1
python resizeto896.py

2020.12.31更新

  感觉一些图片压缩到896又有点太小了,重新把代码改了一下,默认896宽度,也可以通过传参控制压缩宽度。

resizeImg.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import os
import sys
from PIL import Image

in_path="./in"
out_path="./out"

img_file_list=os.listdir(in_path)

width=896

if(len(sys.argv)>1):
width=int(sys.argv[1])

for i in img_file_list:
img=Image.open(in_path+'/'+i)
if(img.size[0]>width):
img=img.resize((width,int(width*img.size[1]/img.size[0])))
img.save(out_path+'/'+i)
1
python resizeImg.py 1920

参考资料

  • Python图像处理PIL各模块详细介绍
-------- 本文结束 感谢阅读 --------
相关文章
  • 自己动手写一个相机参数水印生成器
  • 个人数据中心:使用腾讯云函数进行任务调度
  • 个人数据中心:获取Switch游戏记录
  • 个人数据中心:获取Steam游戏记录
  • 个人数据中心:数据备份模块
觉得文章写的不错的话,请我喝瓶怡宝吧!😀
SiriYang 微信支付

微信支付

SiriYang 支付宝

支付宝

  • 本文标题: Hexo:将大尺寸图片等比列压缩到896像素的宽度
  • 本文作者: SiriYang
  • 创建时间: 2020年09月18日 - 19时09分
  • 修改时间: 2021年10月29日 - 18时10分
  • 本文链接: https://blog.siriyang.cn/posts/20200918191236id.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
Python Hexo
MySQL 8.0.21在安装过程中遇到的问题
Windows10安装过程中遇到磁盘采用GPT分区形式无法安装的问题
SiriYang

SiriYang

努力搬砖攒钱买镜头的摄影迷
323 日志
33 分类
88 标签
RSS
GitHub E-Mail
Creative Commons
Links
  • 友情链接
  • 作品商铺

蜀ICP备19008337号 © 2019 – 2025 SiriYang | 1.7m | 25:53
0%