2
ウィンドウにビットマップを描画しようとしています。私はビットマップに1ビットに対応するピクセルを描画する必要があります。 0ビットに対応するものはそのまま残すものとする。私はこのようなコードを使用しています:Xlib - ビットマップの設定されたビットのみをウィンドウに描画します。
XImage *image;
uint8_t bitmap[8192]; /* 256 x 256/8 */
memset(bitmap, 0xaa, sizeof(bitmap));
XSetForeground(g_display, g_gc, 0x000000ff);
XSetBackground(g_display, g_gc, 0x00000000);
image = XCreateImage(g_display, g_visual, 1, XYBitmap,
0, (char *)bitmap, 256, 256, 32, 0);
XPutImage(g_display, g_wnd, g_gc, image, 0, 0, 10, 10, 255, 255);
XFree(image);
は(はい、私は私のような直接指定する色はちょうど間違っていることを知っているが、それは今の私にとってはOKです)。
明らかに、ビットマップの0ビットは背景色(黒色)で描画されます。私は彼らがまったく描かれないようにしたい。それを実現するための最良のアプローチは何ですか?マスクなどを指定する方法はありますか?