#!/bin/bash
# 源图片路径
source_image="/storage/emulated/0/print/图片/纸张/编号_B4.png"
# 目标目录路径
target_directory="/storage/emulated/0/print/图片/纸张/编号_B4/"
# 主要颜色
main_color="srgb(0.151489%,11.1152%,15.4224%)"
# 创建目标目录(如果不存在)
mkdir -p "$target_directory"
# 遍历不同尺寸
sizes=("A0" "A1" "A2" "A3" "A4" "A5" "A6" "A7" "A8" "A9" "A10" "B0" "B1" "B2" "B3" "B4" "B5" "B6" "B7")
for size in "${sizes[@]}"; do
case $size in
"A0") dimensions="841x1189";;
"A1") dimensions="594x841";;
"A2") dimensions="420x594";;
"A3") dimensions="297x420";;
"A4") dimensions="210x297";;
"A5") dimensions="148x210";;
"A6") dimensions="105x148";;
"A7") dimensions="74x105";;
"A8") dimensions="52x74";;
"A9") dimensions="37x52";;
"A10") dimensions="26x37";;
"B0") dimensions="1000x1414";;
"B1") dimensions="707x1000";;
"B2") dimensions="500x707";;
"B3") dimensions="353x500";;
"B4") dimensions="250x353";;
"B5") dimensions="176x250";;
"B6") dimensions="125x176";;
"B7") dimensions="88x125";;
*) dimensions="800x600";; # 默认尺寸
esac
# 生成不同尺寸的图片
output_filename="${target_directory}编号_${size}_用途_图片尺寸_${main_color//[^a-zA-Z0-9]/}_颜色阈值.png"
convert "$source_image" -resize "$dimensions" -background "$main_color" -gravity center -extent "$dimensions" "$output_filename"
done
不要这个字体
# 导入必要的模块
import os
import datetime
from PIL import Image, ImageDraw, ImageFont
import textwrap
# 定义函数,根据行数计算图片尺寸
def calculate_image_size(line_count):
if line_count <= 40:
return (420, 595) # A5 尺寸
elif line_count <= 80:
return (595, 842) # A4 尺寸
else:
return (728, 1030) # B4 尺寸
# 定义主要颜色
main_color = (4, 30, 40) # 将sRGB值转换为RGB值
# 定义输出文件夹
output_folder = "/storage/emulated/0/print/图片/文生图"
os.makedirs(output_folder, exist_ok=True)
# 输入文字
print("请输入文本内容,可以有多行。输入完成后,请输入'# ꧂ ꧁结束'以结束输入:")
text_input = []
while True:
line = input()
if line == "# ꧂ ꧁":
break
text_input.append(line)
text = '\n'.join(text_input)
# 计算图片尺寸
lines = textwrap.wrap(text, width=40)
line_count = len(lines)
image_size = calculate_image_size(line_count)
# 选择字体和大小
# font = ImageFont.truetype("arial.ttf", 30)
font = ImageFont.load_default()
draw.text((x, y), text, fill=color, font=None)
# 分页处理文本并生成图片
counter = 1
for line in textwrap.wrap(text, width=40):
# 创建新的图片对象
img = Image.new("RGB", image_size, color=main_color)
draw = ImageDraw.Draw(img)
# 计算文本尺寸和位置
text_width, text_height = draw.textsize(line, font=font)
text_position = ((image_size[0] - text_width) / 2, (image_size[1] - text_height) / 2)
# 在图片上绘制文本
draw.text(text_position, line, fill="white", font=font)
# 保存图片
img_path = os.path.join(output_folder, f"{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}_{counter}.png")
img.save(img_path)
# 更新计数器
counter += 1
# 输出完成信息
print(f"图片生成完成,保存在:{output_folder}")