繁体   English   中英

使用 X-window 绘制到现有图像

[英]Drawing to an existing image with X-window

我正在使用 X-window (X11) 渲染 2D 图形(线、圆、文本...)。 但是我需要绘制现有的 bitmap 图像,而不是绘制到 window。 有没有办法做到这一点? 如果是,bitmap格式有限制吗?

(注意:我并不是要将图像渲染到 window。)

是的,可以使用 X-window (X11) 绘制现有的 bitmap 图像。 您可以使用 Xlib 库执行此操作,该库提供用于创建和操作 windows 以及绘制图形的函数。

To draw to an existing bitmap image, you will need to create a bitmap using the XCreateBitmapFromData function. This function takes a pointer to the data for the bitmap, the width and height of the bitmap, and the depth of the bitmap (in bits per像素)。 然后,您可以使用 XCreatePixmap function 创建一个 Pixmap object 并将 bitmap 指定为 Pixmap 的数据。

一旦创建了 Pixmap,就可以使用标准的 Xlib 函数(例如 XDrawLine 和 XDrawString)将图形绘制到 Pixmap。 完成绘图后,您可以使用 XGetImage function 检索 Pixmap 的数据作为 XImage object。然后您可以使用 XGetPixel function 访问 XImage 的像素数据并将其复制到您自己的数据结构或保存它到一个文件。

至于bitmap格式,Xlib支持多种bitmap格式,包括1位单色、8位伪彩色、24位真彩色。 您可以根据应用程序的要求选择最适合您需要的格式。

我希望这有帮助。 如果您有任何问题或需要进一步的帮助,请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM