指定されたフォントと透明な背景を持つ単一の文字を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は更新されず、常に透明のままです。画像に背景が透明なキャラクターを描くには?