搭建一个最简单的首页随机图片api
1. 引言
首页的图片每天都是重样的是在是看得心烦意乱,就希望每次访问网页都能看到不一样的风景,既然是用Typora+PicGo写博客,图片通过JSDlivr全球分发(其实是心疼CDN的钱,毕竟每个月又拍云才给15G),那么我就直接通过一个简单的php实现访问GitHub中的随机图片不就能实现简单的随机图API了嘛?
说干就干,咳咳,我们理一下思路:
- 先找到我们需要的随机图<赛博朋克风格随机图32张>
- 通过大名鼎鼎的tingpng实现压缩,毕竟图片1080P就够了,还有手机用户呢
- 通过PicGo上传到GitHub,输出加速后的图片地址
- 部署到服务器中,并通过API调用
2. 实现
图片我们已经准备好了,把这些图片上传到Tinypng,可以看到压缩率为70%,还是比较夸张的,我这里下载的图片都是1920×1080分辨率,如果分辨率不太好的话可以用OpenCV压缩一下,代码如下:
import os
import cv2
file_path = "你的文件目录"
web_path = "上传的CDN目录"
def img_resize(image_path):
image = cv2.imread(file_path+image_path)
height, width = image.shape[0], image.shape[1]
# 设置新的图片分辨率框架
width_new = 1920
height_new = 1080
# 判断图片的长宽比率
if width / height >= width_new / height_new:
img