赵灵越 2023-11-25 15:54 采纳率: 99.3%
浏览 3
已结题

问了机器人500个问题都没有答对,怎么使用sh代码字体到python?


#!/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

img


不要这个字体

# 导入必要的模块
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}")

img

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-25 19:27
    关注

    【相关推荐】




    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月14日
  • 已采纳回答 12月6日
  • 修改了问题 11月25日
  • 创建了问题 11月25日

悬赏问题

  • ¥20 ic卡dump文件校检码解密
  • ¥15 关于:接收到的数据不是有效的JSON格式
  • ¥15 apdl语言如何增加受力分析
  • ¥15 算法对比:学校优化算法与蚁群算法对比
  • ¥15 机电一体化系统设计说明书
  • ¥20 sgy数据提取地震波速,有人能回答吗小馋
  • ¥20 c#实现打开word的功能,并且需要安装成windows服务,word打不开怎么办
  • ¥15 python用ARIMA时间预测模型预测数据出错,急!
  • ¥30 为什么后端传给前端vue的河流json数据不在地图中显示出来
  • ¥50 关于弹性波动方程求解的问题: