Python 生成指定大小的图片
共计 1292 个字符,预计需要花费 4 分钟才能阅读完成。
有时候想找一个指定占用磁盘大小的图片真的很难,所以也许用 python 生成是最合适的。但是过程中又要装 Pillow 这些库,并且还可能报错,所以想着还是做个 docker 镜像算了。
# 使用默认参数,生成大小为1M,长宽比为16/9的图片
docker run --rm -v $(pwd):/data hausen1012/img-generate
# 根据自己需要修改参数
docker run --rm \
-e SIZE=1 \
-e LENGTH=16 \
-e WIDTH=9 \
-v $(pwd):/data \
hausen1012/img-generate
还是贴一下代码:
import os
import random
import string
from PIL import Image
import numpy as np
# 从环境变量获取图片大小(以字节为单位)
file_size = int(os.environ.get('SIZE', 1)) * 1024 * 1024 # 默认大小为1MB
# 从环境变量获取长宽比
length = int(os.environ.get('LENGTH', 16))
width = int(os.environ.get('WIDTH', 9))
# 计算所需的图片宽度和高度
aspect_ratio = length / width
width_pixels = int(np.sqrt(file_size * aspect_ratio / 3))
height_pixels = int(width_pixels / aspect_ratio)
# 创建随机像素数组
data = np.random.randint(0, 256, (height_pixels, width_pixels, 3), dtype=np.uint8)
# 创建PIL图片对象
img = Image.fromarray(data, 'RGB')
# 设置保存目录
output_directory = "/data"
# 生成随机文件名
random_filename = ''.join(random.choices(string.ascii_letters + string.digits, k=10))
output_path = os.path.join(output_directory, f"{random_filename}.png")
# 检查并创建保存目录
os.makedirs(output_directory, exist_ok=True)
# 保存图片到 "/data" 目录下
img.save(output_path)
file_size_mb = file_size / (1024 * 1024)
print(f"图片名称: {random_filename}, 大小: {file_size_mb:.2f}MB, 长宽比: {length}/{width}")
dockerfile 如下:
FROM python:3.9-alpine
RUN pip3 install --upgrade pip && \
pip3 install --upgrade Pillow && \
pip3 install --upgrade numpy
COPY run.py /
CMD ["python3", "/run.py"]
提醒:本文发布于292天前,文中所关联的信息可能已发生改变,请知悉!
Tips:清朝云网络工作室
1、本网站名称 清朝云资源网
2、本站永久连接https://www.qcyqq.com/7742.html
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7.站长联系方式:766378891@qq.com
2、本站永久连接https://www.qcyqq.com/7742.html
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7.站长联系方式:766378891@qq.com
THE END
0
二维码
海报
Python 生成指定大小的图片
共计 1292 个字符,预计需要花费 4 分钟才能阅读完成。 ……




共有 0 条评论