首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyPng给了我一个非常奇怪的错误,我能做什么?

PyPng给了我一个非常奇怪的错误,我能做什么?
EN

Stack Overflow用户
提问于 2022-04-23 16:37:08
回答 1查看 51关注 0票数 -1

我使用PyPng绘制Png-文件.我对它很陌生(新的20分钟),我使用下面的代码生成一个6×6像素的图像,但它不工作。我尝试过在3×6图像上使用相同的代码(可能或者没有从互联网上复制),而且效果很好,但是每次我收到这条错误消息时:

追溯(最近一次调用):文件"C:\Users\FakeUserTotallyMadeUp\Desktop\Python\imgGen\imgGen.py",第21行,在w.write(f,p)中

文件"C:\Users\FakeUserTotallyMadeUp\AppData\Roaming\Python\Python37\site-packages\png.py",第668行,在写nrow= self.write_passes(outfile,check_rows(行))中

文件"C:\Users\FakeUserTotallyMadeUp\AppData\Roaming\Python\Python37\site-packages\png.py",第703行,在write_passes中返回self.write_packed(外文件,行)

文件"C:\Users\FakeUserTotallyMadeUp\AppData\Roaming\Python\Python37\site-packages\png.py",第723行,在write_packed self.write_preamble(外文件)中

文件"C:\Users\FakeUserTotallyMadeUp\AppData\Roaming\Python\Python37\site-packages\png.py",第770行,在write_preamble 0,0,self.interlace中)

struct.error:必需参数不是整数

我试过很多东西来修理它,但都没有用。

下面是代码:

代码语言:javascript
复制
import png

rowofrgb = ()
newrowofrgb = ()

p = [(255,0,0, 255,0,0, 0,255,0, 0,255,0, 0,0,255, 0,0,255)]

for i in range(5):
    rowofrgb = p[i]

    for b in rowofrgb:
        addtonewrow = (round(b/2),)
        newrowofrgb += addtonewrow
    
    rowofrgb = newrowofrgb
    newrowofrgb = ()
    p.append(rowofrgb)

f = open('swatch.png', 'wb')
w = png.Writer(len(p[0])/3, len(p), greyscale=False)
w.write(f, p)
f.close()
EN

回答 1

Stack Overflow用户

发布于 2022-04-23 16:43:51

我看到的第一件事是,p是一个包含一个元素的列表,一个元组,这个元组由18个整数组成。也许您指的是包含6个元组的列表,每个元组有3个元素:

代码语言:javascript
复制
p = [(255,0,0), (255,0,0), (0,255,0), (0,255,0), (0,0,255), (0,0,255)]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71981655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档