2

描画する透明な GTK ウィンドウを作成しようとしています。ただし、 go-cairogo-gtkを使用して Go でこれを実装する方法を理解できないようです。これをどのように達成できるか知っている人はいますか?

4

1 に答える 1

2

go-gtkにはまだウィンドウの不透明度機能がないため、自分で実装しない限り、タスクは不可能です。これは、gtk.goの1392行目と1393行目で証明されています。

go-cairo(私は個人的には使用していません)については、これを見ると、これ互換性のある機能がわかります。質問のGo関数は次のとおりです。

func (self *Surface) SetSourceRGBA(red, green, blue, alpha float64) {
    C.cairo_set_source_rgba(self.context, C.double(red), C.double(green), C.double(blue), C.double(alpha))
}

これはcairo_set_source_rgbaのラッパーです。この動作のCベースの例は、plan99.netから入手できます。

望ましい効果を得るには、go-cairoでアルファチャンネルを使用するのが今のところ最善の策だと思います。

于 2013-01-28T19:12:09.300 に答える