我的廣告單元,有空點一下哦,謝謝!
冒著被拍磚的危險,投放到首頁。C#製作不規則表單應該又是一個老生常談的問題了,可能很多老鳥會帶BS的眼神,那麼請老鳥們視該文章如浮雲吧。
製作不規則表單,本例採用圖片背景形式,這也是通常的思路。以前也做過類似的案例,但都不深入,這次項目中需要用到,順便理了下思路,找到另一種比較簡單的方法,下面介紹下兩種解決方案。
第一種:也是大家管用的一種方法,實現步驟如下
①:準備一張bmp的圖片,圖片的背景最好為一種簡單純色,方便表單指定透明色,例如下面圖片:
(圖片背景為白色,邊框是園子的css效果,不能傳bmp,jpg代替)
②:在VS裡面建立表單,表單FormBorderStyle:None
③:找到表單的TansparencyKey,將它設定為你背景圖片的背景色(如白色)
OK,第一種設定到這裡就可以了,運行效果如下:
沒有任何問題,能夠打到不規則表單的的效果,但是你會發現,如果你的圖片背景顏色和圖片主內容很接近,或者存在共同顏色的時候,難免會出現鋸齒,部分地方透明模糊等情況,那麼如何解決這個問題呢,看第二種解決方案
第二種解決方案:(採用透明Png圖片格式)
上一種方法用的是bmp格式,這次採用png格式,大家知道png是支援圖片背景透明的。準備圖片如下:
(為了好看一點,直接接了個表徵圖,證明是png格式,而且背景是透明的,呵呵)
①:同樣建立一個表單背景圖片指定png格式的圖片
②:同樣設定表單的FormBorderStyle:None
③:不同點來了哈,這裡指定好了圖片png後,表單的大小可以隨便設定(當然你要保證能顯示出全部png圖片),之後設定表單的BackColor:Control(這是預設的,當然你也能修改),最後設定TansparencyKey等於你的BackColor的顏色即可,這樣就可以完整的顯示出png圖片了
可以看的出,兩種解決方案其實大同小異,不同的是第二種方案靈活性比較高一點,能夠實現些很好的效果,而不會影響圖片品質(毛邊等)。
Show一下花了一天做的一個圖片。