我想将具有指定字体和透明背景的单个字符绘制到 SWT 图像,然后将其保存到文件中。我这样做:
FontData fontData; // info about the font
char ch = 'a'; // character to draw
Display display = Display.getDefault();
TextLayout textLayout = new TextLayout(display);
textLayout.setAlignment(SWT.CENTER);
textLayout.setFont(font);
textLayout.setText("" + ch);
Rectangle r = textLayout.getBounds();
Image img = new Image(display, r.width, r.height);
GC gc = new GC(img);
textLayout.draw(gc, 0, 0);
角色已绘制,但背景为白色。我试图通过将 transparentPixel 设置为白色来解决它,这使背景透明但字符看起来很丑。我还尝试在图像上绘制任何内容之前将图像的 alphaData 设置为 0(完全透明),但 alphaData 在图像上绘制任何内容后不会更新,它始终保持透明。如何在图像上绘制具有透明背景的字符?