回答
的代碼將是類似於:
private void pictureBox1_Paint (object sender, PaintEventArgs e)
{
using (SolidBrush b = new SolidBrush(Color.FromArgb(128, Color.White))
{
e.Graphics.FillRectangle (b, 0, 0, pictureBox1.Width, pictureBox1.Height);
}
然而,上面簡單地使用單一色彩刷其opactity設置爲128還有其他可用刷類的代碼,如LinearGradientBrush
,TextureBrush
, PAthGradientBrush
和HatchBrush
。
建議 畫自定義效果,如你想(爲按鈕按下狀態),推薦的做法是生成你可以在你的應用程序運行時創建或使用外部程序預渲染圖像如Adobe Photoshop,然後保存這些圖像。
然後,繪畫代碼將簡單地拍攝表示「按鈕」當前狀態的圖像,並在覆蓋pictureBox1_Paint
方法中繪製該圖像。
與僅在應用程序中的不同狀態更改時間重繪相同狀態相反,此技術可提高圖形繪製性能。
我已經有了預渲染的圖像。我將它們存儲在資源文件中。 感謝您的輸入。我將使用你的代碼。 順便說一句,你知道如何創建一個lineargradientbrush,看起來像標題欄的圖片框?我嘗試了幾次,但沒有結果... – 2010-03-29 13:15:28
嗨亞歷山大,以及標題欄的顏色可以在SystemColors.ActiveCaption和SystemColors.InactiveCaption中找到。只是好奇,你想模仿窗口標題欄中的按鈕嗎?如果是這樣,您仍然必須管理所有相關的Windows消息,但要繪製一條消息,請查看ControlPaint.DrawCaptionButton。 – 2010-03-29 19:19:29
可以註冊Paint事件和寫像這樣的代碼:
private void pictureBox1_Paint (object sender, PaintEventArgs e)
{
e.Graphics.FillRectangle (Brushes.Transparent, 0, 0, pictureBox1.Width, pictureBox1.Height);
}
您需要genereate半透明刷(改所需顏色的ALPA級)
的更多信息關於控件中的自定義繪畫可以在MSDN
這只是一個小的代碼片段。要使用Print事件和Graphics對象,請首先閱讀MSDN內容。
上面的代碼不影響位於圖片框上的圖片..它隻影響圖片框的背景... – 2010-03-29 13:07:46
我的答案和接受的答案沒有太大的區別。 – crauscher 2010-03-29 16:44:57
透明畫筆與空畫筆相同。在提供的代碼示例中,它不會影響圖片框上的圖像。雖然你的回答指出亞歷山大應該使用半透明的筆刷,但是從樣本*如何創建它並不清楚。 :-) – 2010-03-29 19:22:49
- 1. 半透明的PictureBox c#
- 2. MediaPlayer上的半透明層
- 3. 半透明層頂部的不透明層
- 4. 有沒有辦法在PictureBox上半透明地繪製?
- 5. 疊加層:半透明邊框,不透明內部區域 - howto
- 6. OpenGL的透明/半透明
- 7. Delphi中ListView的半透明層?
- 8. 半透明點上的添加顏色
- 9. 添加半透明的黑色層在Android中的TextView
- 10. 表單中的半透明子表單(或其他半透明圖層)
- 11. Winforms半透明PNG半透明PNG
- 12. 使半透明覆蓋層上的文本不透明(也對齊)
- 13. WPF - 控制過半透明層
- 14. PictureBox上的圖形透明度
- 15. 受半透明疊加
- 16. 半透明AppWidget?
- 17. SherlockActionBar半透明
- 18. 半透明NSView
- 19. bootstrap向我的背景添加了一個半透明圖層
- 20. 通過IE8中的半透明DIV疊加層鏈接泄漏
- 21. 背景圖像上的半透明顏色層?
- 22. 地圖上的半透明全屏圖層
- 23. 半透明的seekbar
- 24. JButton的不透明度/半透明度?
- 25. 在UISearchBar上設置半透明爲NO
- 26. 增加額外類WordPress的
- 27. 添加高透明度的半透明視圖
- 28. QGraphicsPathItem重疊半透明的路徑變得更加不透明
- 29. 半透明窗口內的半透明JPopupMenu - 可選項?
- 30. 帶半透明(半透明)帶的繪製路徑
到目前爲止你有什麼? – 2010-03-29 11:10:17
你能澄清你的答案嗎?我的字典在'迄今'上給出了不同的含義... 我有一個帶有圖像的圖片框。我用它像一個按鈕。所以當我點擊一個圖片框按鈕時,我想添加額外的圖層。該圖層指示按下了圖片框。 – 2010-03-29 11:41:54