复制并粘贴到帧缓冲区

埃迪·索恩加德

我正在帧缓冲区中绘制一个蓝色矩形,我想再次擦除它。在绘制矩形之前,我先复制粘贴矩形的背景,然后在2秒钟后将其粘贴到矩形上。矩形不会被删除。

#!/usr/bin/env python

import numpy as np
import time
from PIL import Image
from io import BytesIO

h, w, c = 1024, 1280, 4
fb = np.memmap('/dev/fb0', dtype='uint8',mode='w+', shape=(h,w,c))
x0, y0 = 50, 200
w, h = 300, 400

# Copy backbround:      Does not work?
n0 = fb.read[y0:y0+h, x0:x0+w]

# Paste blue rectangle to framebuffer:      This works.
img = Image.new('RGBA', size=(w, h), color=(255,0,0,255))
n = np.array(img)
fb[y0:y0+h, x0:x0+w] = n

# Erase image:       Does not work?
time.sleep(2)
fb[y0:y0+h, x0:x0+w] = n0

我究竟做错了什么?如果将n0粘贴到帧缓冲区中的另一个位置,则会得到一个蓝色矩形,而不是黑色矩形。

埃迪·索恩加德

我自己使用np.copy解决了:

import numpy as np
import time
from PIL import Image

h, w, c = 1024, 1280, 4
fb = np.memmap('/dev/fb0', dtype='uint8',mode='w+', shape=(h,w,c))
x0, y0 = 50, 200
w, h = 300, 400

# Copy background:
### n0 = fb.read[y0:y0+h, x0:x0+w]
n0 = np.copy(fb[y0:y0+h, x0:x0+w])

# Paste blue rectangle to framebuffer:      This works.
img = Image.new('RGBA', size=(w, h), color=(255,0,0,255))
n = np.array(img)
fb[y0:y0+h, x0:x0+w] = n

# Erase image:
time.sleep(2)
### fb[y0:y0+h, x0:x0+w] = n0
fb[y0:y0+h, x0:x0+w] = np.copy(n0)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何清理复制/粘贴缓冲区?

来自分类Dev

如何将一行从复制缓冲区粘贴到每一行的末尾?

来自分类Dev

WebGL将纹理帧缓冲区复制到纹理帧缓冲区?

来自分类Dev

如何停止hange复制到粘贴缓冲区?

来自分类Dev

复制粘贴缓冲区配置最佳做法

来自分类Dev

从复制/粘贴缓冲区中删除格式

来自分类Dev

将剪贴板作为文本粘贴到键盘缓冲区中

来自分类Dev

LibGDX帧缓冲区

来自分类Dev

复制 vim 缓冲区

来自分类Dev

linux gnu less:复制+粘贴时缓冲区中的长行损坏

来自分类Dev

如何写数据以复制和粘贴缓冲区?

来自分类Dev

如何写数据以复制和粘贴缓冲区?

来自分类Dev

Vim:关于跨不同缓冲区复制和粘贴的问题

来自分类Dev

谁在X11中存储复制/粘贴缓冲区?

来自分类Dev

如何将行拉入同一寄存器,然后粘贴到新缓冲区中?

来自分类Dev

我如何使用ubuntu中的终端将缓冲区中的某些内容直接粘贴到文件中?

来自分类Dev

什么是深帧缓冲区?

来自分类Dev

libGDX帧缓冲区Alpha问题

来自分类Dev

什么是“哑”帧缓冲区?

来自分类Dev

OpenGL帧缓冲区+ LibGDX

来自分类Dev

处理大于缓冲区大小的帧

来自分类Dev

什么是深帧缓冲区?

来自分类Dev

深度+模板帧缓冲区问题

来自分类Dev

什么是内核帧缓冲区?

来自分类Dev

OpenGL帧缓冲区绑定目标

来自分类Dev

libGDX帧缓冲区Alpha问题

来自分类Dev

什么是“哑”帧缓冲区?

来自分类Dev

将金属帧缓冲区复制到具有不同像素格式的MTLTexture

来自分类Dev

OpenGL复制顶点缓冲区对象