gpt4 book ai didi

python - 使用 Python 从包含 PNG 图像的原始矢量生成图像。

转载 作者:太空宇宙 更新时间:2023-11-04 06:34:44 25 4
gpt4 key购买 nike

在 R 中,我使用以下测试代码创建了一个包含 PNG 图像的原始向量。(格式 = ARGB (640 x 480))

library(Cairo)
library(png)

Cairo(type='raster')
x=seq(0,3,by=0.01)
y=2*sin(2*pi*(x-1/4))
plot(x,y) #Test plot
rawdata = writePNG(dev.capture(native=TRUE), raw())
assign("rawpng", rawdata, envir = .GlobalEnv)

生成的向量如下所示:c(89, 50, 4e, 47, 0d, 0a, 1a, 0a, 00, 00, 00, 0d, 49, 48, 44,
52, 00, 00, 02, 80, 00, 00, 01, e0, 08, 06, 00, 00, 00, 35, d1,
dc, e4, 00, 00, 20, 00, 49, 44, 41, 54, 78, 9c, ec, dd, 77,
自动对焦, 5d, ee, cf, 75, 71,
41、d6、90、99、e7、ec、b3、66、9f、b5、d7、7a、d6、b3、c0、cc、
cc,cc,cc,cc,cc,cc,cc,cc,cc,cc,cc,cc,cc,cc,cc,cc,
cc, cc, cc, cc, cc, cc, cc, cc, cc, cc, cc, cc, cc, cc, ...................... ...... b3, b0, fc, 1f, fe, 86, bd, ef, 71, 27, 9e, 88, 00, 00, 00, 00,
49, 45, 4e, 44, ae, 42, 60, 82)

现在我想使用原始向量在 Python Canvas 中显示图像,但我似乎无法正确处理。使用 Rpy2 和 Pil,我以某种方式设法生成了一个图像,但它完全搞砸了。

rawdataVec = rpy2.robjects.globalenv['rawpng']
rawdataArray = numpy.asarray(rawdataVec)
newshape = (640,480,4)
newstrides = (rawdataArray.itemsize, rawdataArray.itemsize,rawdataArray.itemsize)
data = numpy.lib.stride_tricks.as_strided(rawdataArray, shape=newshape, strides=newstrides)
img = Image.fromstring('RGBA', (640,480), data.tostring(),'raw','RGBA',0,1)
photo = ImageTk.PhotoImage(image=img)

我知道将绘图保存为图像文件并在 Python 中重新加载它会容易得多,但我需要它而不先保存文件。有可能吗?

最佳答案

你能把图像写到StringIO吗?缓冲区(本质上是将图像写入内存中的"file")然后从该缓冲区中读取它?

关于python - 使用 Python 从包含 PNG 图像的原始矢量生成图像。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12887262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com