使用GDI 从ADB Framebuffer绘制数据

Drawing data from adb framebuffer using GDI+

本文关键字:绘制 数据 Framebuffer ADB GDI 使用      更新时间:2023-10-16

是否有任何方法可以转换framebuffer,可以从ADB服务中收到它作为屏幕上的图像绘制(使用GDI或GDI )

我可以从ADB服务中获取数据并将其存储在下面的结构中:(数据结构是从ADB/FrameBuffer_Service.cpp提取的)

struct fb {
    unsigned int bpp;
    unsigned int size;
    unsigned int width;
    unsigned int height;
    unsigned int red_offset;
    unsigned int red_length;
    unsigned int blue_offset;
    unsigned int blue_length;
    unsigned int green_offset;
    unsigned int green_length;
    unsigned int alpha_offset;
    unsigned int alpha_length;
    void* data;
};

可以使用gdi :bitmap.lockbits方法创建自定义Bitmap

LockBits之后,您可以访问单个像素及其组件(红色,绿色,蓝色,alpha频道)。

首先创建一个所需大小的空Bitmap,然后使用LockBits用新值覆盖像素数据。