You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用mondrianish 0.5.3传入自定义lines、rects调用generate_image报错如何解决

问题原因

你对generate_image函数的参数定义理解错误:

  • 该函数的第二个参数要求传入图像尺寸元组(宽, 高),而非外部生成的lines、rects网格数据
  • 官方封装的generate_image会自动在内部调用generate_grid生成网格,不支持直接传入自定义网格数据,你传入的(lines, rects)被函数当作尺寸参数进行数值计算,因此触发了列表和整数不能相除的类型错误。

解决方案

方案1:无需自定义网格,直接使用默认逻辑

直接给generate_image传入正确的图像尺寸参数即可:

from mondrianish import generate_image

colors = ("#FFF8F0", "#FCAA67", "#7DB7C0", "#932b25", "#498B57")
# 第二个参数为图像尺寸,示例为宽800px、高400px
with open("output-1.png", "wb") as f:
    generate_image("png", (800, 400), 10, colors, f)

方案2:需要自定义网格(精细化控制线条、矩形)

直接调用库内部的渲染函数,传入你自己生成的网格数据即可:

from mondrianish import generate_grid, _render_png

colors = ("#FFF8F0", "#FCAA67", "#7DB7C0", "#932b25", "#498B57")
# 自定义生成网格
lines, rects = generate_grid((20, 10), density=0.3)
# 配置图像参数
img_size = (800, 400)
stroke_width = 10

with open("output-1.png", "wb") as f:
    _render_png(img_size, stroke_width, lines, rects, colors, f)

如果需要输出SVG格式,替换_render_png为_render_svg即可。

内容的提问来源于stack exchange,提问作者Peter Chung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 15:00:01