我正在嵌入式设备上捕获一个原始帧缓冲区。 帧缓冲区是32位BGRA颜色模式。
cp /dev/fb0 framebuffer.data
我可以将原始转储传输到我的PC上,然后导入GIMP,但GIMP只允许我读取原始数据,就像读取ARGB一样,这导致颜色不正确。 有没有办法在GIMP中直接切换红色和蓝色通道?
我找到了一个办法,用gstreamer转换颜色,做截图...
#!/bin/bash
cp /dev/fb0 /home/root/framebuffer.data
gst-launch-1.0 filesrc location="/home/root/framebuffer.data" ! rawvideoparse use-sink-caps=false width=800 height=1280 format=bgra ! imxvideoconvert_ipu ! videoconvert ! pngenc snapshot=false compression-level=1 ! filesink location=/home/root/screencap.png
rm /home/root/framebuffer.data