我正在寻找一个与GDI的StretchBlt for Xlib完全相同的功能。我在XLib标题中找不到任何这样的函数,所以我开始认为我必须了解StretchBlt如何自己为XLib实现它。我感谢任何帮助。
答案 0 :(得分:1)
在Xlib或X协议中没有任何功能。一些方法可以包括:
最好的方法很大程度上取决于项目的细节。一般来说,Xlib的绘图原语在现代标准中几乎毫无价值,所以你真的应该得到一些更高层的图书馆。开罗可能是默认选择,它广泛用于开源软件。
对于Xlib来说,以一般而正确的方式对自己进行编码非常困难......问题是您必须处理用户可能拥有的任何视觉和色彩映射。如果您知道用户将使用的确切硬件和软件,这可能是一个小问题,否则它可能是一个令人头疼的问题。在16位和24位以及32位深度和不同的字节序之间进行大量的转换。 GTK +和Cairo在那里有转换代码,所以如果你可以使用它们,你可以用固定格式编写一个拉伸例程,例如ARGB32,而不必处理所有其他的。
答案 1 :(得分:0)
此类功能由XRender扩展程序提供: http://cgit.freedesktop.org/xorg/proto/renderproto/plain/renderproto.txt