SWT 4.2Tree
ウィジェットを使用しています。リスト内のそれぞれにカラーコードを関連付ける必要がありTreeItem
ます。TreeItem
次のsetImage(...)
ように作成された画像でを使用してこれを行っています。
private Image createImage(int imageSize)
{
Image image = new Image(Display.getDefault(), imageSize, imageSize);
GC gc = new GC(image);
gc.setAntialias(SWT.ON);
gc.setBackground(... a Color object ...);
gc.fillRoundRectangle(0, 0, imageSize, imageSize, 5, 5);
gc.dispose();
return image;
}
1 つの詳細を除いて、これは実際にうまく機能します。角の丸い四角形の外側の角は透明ではなく、白のままです。効果は、白いフリンジが付いた丸みを帯びたカラー スクエアです。これは、ユーザーが で項目を選択するときに特に顕著Tree
です。選択色によって白い角がはっきりと見えるからです。
そのメソッドのドキュメントには、「透明ピクセルをマップする色を設定します」Image.setBackground(...)
と記載されているため、を作成する前に使用してみました。ただし、色を白または画像が設定されている場所の色(とにかく白)に設定しても、私が見る限り効果はありません。また、上記のコードで のアルファ値を設定しようとしましたが、GC の背景を透明に設定するための正しい呪文を取得できないようですが、塗りつぶされた四角形は透明ではありません。GC
TreeItem
GC
私は何を間違っていますか?塗りつぶされた四角形の外側の領域を透明にして、塗りつぶされた角丸長方形の外側の画像の角がTree
リストに表示されたときに適切に透明になるようにするにはどうすればよいですか?