[問題] directx overlay render 的問題
各位晚安,我參考網路上一篇文章,想在現有程式上加上 overlay 的功能
http://goo.gl/iRaDX 底下為原始網址
http://www.uc-forum.com/forum/net/62019-c-non-hooked-external-directx-overlay.html
照理來說,應該是在
device.BeginScene();
// 這中間我自己畫出要 render 的東西
font.DrawText(null, "stringa", new Rectangle(0, 0, 500, 500),
DrawTextFormat.Left, Color.White);
device.EndScene();
但我如果在這邊畫出我想畫的字,overlay 的部份就會變成黑色不透明蓋掉原本程式
http://ppt.cc/UNCu
後來參考了另外一篇文章 http://goo.gl/3p6JJ
http://stackoverflow.com/questions/148275/how-do-i-draw-transparent-directx-content-in-a-transparent-window
在 onpaint 的 method 上面加上了
System.Drawing.Font fn = new System.Drawing.Font("新細明體", 50);
Graphics g = e.Graphics;
// black brush for Alpha transparency
SolidBrush blackBrush = new SolidBrush(Color.Black);
g.FillRectangle(blackBrush, 0, 0, Width, Height);
g.DrawString(DateTime.Now.ToShortTimeString(), fn, new
SolidBrush(Color.Red), new PointF(20, 20));
blackBrush.Dispose();
就可以正常運作了,但這樣感覺又回到 form 裡面 paint 的時候才做…
那我為什麼要用 directx @@?
圖示:http://ppt.cc/4_ov
而且第一篇那邊作者有給 screenshot 看起來很正常,
不知道有沒有人寫過類似的程式能夠幫我解答
我測試的 source code 位於 http://pastebin.com/wASJ5X7u 這邊
--
是說我找到的文章都很舊,還是現在都改用 XNA 來寫這種東西嗎?
感謝回答@@
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.85.64.11
推
11/05 06:14, , 1F
11/05 06:14, 1F
→
11/05 06:15, , 2F
11/05 06:15, 2F
→
11/06 11:49, , 3F
11/06 11:49, 3F
→
11/06 11:49, , 4F
11/06 11:49, 4F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章