Python 3 putpixel (PIL) 对象到字符串和反转
Python 3 putpixel (PIL) object to string and reverse
我使用 PIL 读取图像的像素图,然后将该图作为字符串存储在 Postgre 数据库 VARCHAR 列中。我想从我的 Python 脚本中再次读取该数据库 VARCHAR 字符串,并将其转换为我在使用 pix=im.load()
时获得的相同像素映射对象,这样我就可以像这样解析:
读取数据库字符串后我想要的结果,例如
mypixmap[0][0] = 255 mypixmap[1][0] = 255
mypixmap[0][1] = 154 mypixmap[1][1] = 0
mypixmap[0][2] = 120 mypixmap[1][1] = 30
mypixmap[0][3] = 100 mypixmap[1][1] = 255
等等...
如果完全使用 print(mypixmap)
打印元组列表,将导致如下结果:
[(65, 65, 65, 255)(49, 49, 49, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(254, 254, 254, 255)(254, 254, 254, 255)(254, 254, 254, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(168, 168, 168, 255)(133, 133, 133, 255)(255, 255, 255, 255)]
但在这种情况下 print(mypixmap[0][0])
会给出 65
没有任何括号,因为它将检索第一个整数。
我知道 Postgre 驱动程序和 SQL 所以我只需要一种方法将对象存储到数据库中(也许 VARCHAR 不好?)并像以前一样取回它。
我希望已经清楚了,如果我没有使用正确的术语,我很抱歉,但我仍在学习 Python 的第一步。
我通过将映射转换为字符串和 .remove()
所有不是字节八位字节的字符来计算我的代码。当我将此字符串存储到 VARCHAR 列时,我可以将其取回,再次剥离除八位字节以外的所有内容,然后使用带有索引 [] 的字符串来解析八位字节。
我使用 PIL 读取图像的像素图,然后将该图作为字符串存储在 Postgre 数据库 VARCHAR 列中。我想从我的 Python 脚本中再次读取该数据库 VARCHAR 字符串,并将其转换为我在使用 pix=im.load()
时获得的相同像素映射对象,这样我就可以像这样解析:
读取数据库字符串后我想要的结果,例如
mypixmap[0][0] = 255 mypixmap[1][0] = 255
mypixmap[0][1] = 154 mypixmap[1][1] = 0
mypixmap[0][2] = 120 mypixmap[1][1] = 30
mypixmap[0][3] = 100 mypixmap[1][1] = 255
等等...
如果完全使用 print(mypixmap)
打印元组列表,将导致如下结果:
[(65, 65, 65, 255)(49, 49, 49, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(254, 254, 254, 255)(254, 254, 254, 255)(254, 254, 254, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(255, 255, 255, 255)(168, 168, 168, 255)(133, 133, 133, 255)(255, 255, 255, 255)]
但在这种情况下 print(mypixmap[0][0])
会给出 65
没有任何括号,因为它将检索第一个整数。
我知道 Postgre 驱动程序和 SQL 所以我只需要一种方法将对象存储到数据库中(也许 VARCHAR 不好?)并像以前一样取回它。
我希望已经清楚了,如果我没有使用正确的术语,我很抱歉,但我仍在学习 Python 的第一步。
我通过将映射转换为字符串和 .remove()
所有不是字节八位字节的字符来计算我的代码。当我将此字符串存储到 VARCHAR 列时,我可以将其取回,再次剥离除八位字节以外的所有内容,然后使用带有索引 [] 的字符串来解析八位字节。