[問題] directx overlay render 的問題

看板C_Sharp (C#)作者 (ChrisLiu)時間13年前 (2011/10/31 23:57), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
各位晚安,我參考網路上一篇文章,想在現有程式上加上 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
你的用途不需要 DirectX 或 OpenGL 啊 xD
11/05 06:14, 1F

11/05 06:15, , 2F
GDI 就夠用了
11/05 06:15, 2F

11/06 11:49, , 3F
感謝回覆,不過因為之後想 render 其他東西,只是在測試
11/06 11:49, 3F

11/06 11:49, , 4F
而已,所以隨便設個字上去 XD
11/06 11:49, 4F
文章代碼(AID): #1EhiLuo0 (C_Sharp)
文章代碼(AID): #1EhiLuo0 (C_Sharp)