C#で、WinFormにDirectX 2D描画をしているのですが、
背景色を透明にできません。
参考サイト: https://soundengine.jp/wordpress/tips/try/3414/
RawColor4(R,G,B,A)のAlphaを0にしても効果はありませんでした。(真っ黒)
ご教授願います。
環境:
SharpDX
SharpDX.Direct2D1
.NET Framework4.7.2
WinForm
ソースコード:
C#
1private WindowRenderTarget render; 2 3 public Form1() 4 { 5 InitializeComponent(); 6 7 var hwnd = new HwndRenderTargetProperties(); 8 hwnd.Hwnd = panel1.Handle; 9 hwnd.PixelSize = new Size2(panel1.Width, panel1.Height); 10 11 var factory = new SharpDX.Direct2D1.Factory(); 12 render = new SharpDX.Direct2D1.WindowRenderTarget(factory, new RenderTargetProperties(), hwnd); 13 } 14 15 private void Form1_Paint(object sender, PaintEventArgs e) 16 { 17 render.BeginDraw(); 18 19 render.Clear(new RawColor4(0.1f, 0.1f, 0.0f, 1.0f));//ここで透明にできるはず... 20 21 var fontFactory = new SharpDX.DirectWrite.Factory(); 22 var textFormat = new TextFormat(fontFactory, "メイリオ", 24.0f); 23 var textBrush = new SharpDX.Direct2D1.SolidColorBrush(render, new RawColor4(0.4f,0.6f,0.5f,1f)); 24 render.DrawText("あいうえお", textFormat, new RawRectangleF(10, 10, 400, 50), textBrush, DrawTextOptions.None); 25 26 render.EndDraw(); 27 }
ウィンドウを透明にしたいという話でしょうか?
あなたの回答
tips
プレビュー