2017-05-25 78 views
1

我目前正在研究一個窗口,專注於屏幕上的某些元素,同時模糊其餘的區域。如何創建OSX和W10開始菜單中的半透明模糊窗口?

使用常見的方法,如WindowCompositionAttribute和其他人不適合這種情況,因爲它有限制,它不符合模糊,對比度和顏色應嚴格的強度標準。

我設法解決了我的問題是用光圖像編碼器構建圖像流以提高性能,但這還不夠。所以,我想寫一個運動檢測算法,只有在發生運動時纔會蒸發,但它仍然不會改變性能下降。

我需要的是類似於本機OSX窗口和Windows 10開始菜單的東西,那麼它們如何創建並高效運行而不會對性能產生任何負擔?

回答

0

從頭創建一個新的窗口,你必須設置WindowsStyle爲none(ALLOWTRANSPARENCY =「真」只能隨着WindowsStyle =「無」設置),並建立從那裏的風格窗口。 然而,你將面臨幾個問題,如果你按照這個辦法: - 沒有按鈕(最小化,關閉) 全屏 - 沒有支持(任務欄上的問題)

我建議你有一個基本視角,包括其他主視圖內的視圖(具有模糊效果)。 模糊效果可以通過執行類似下面容易獲得:

<Grid> 
     <Grid Margin="5" Background="#FF3782DC"> 
      <!--<Grid.Background> 
       <Image Source="test.png"></Image> 
      </Grid.Background>--> 
      <Grid.Effect> 
       <BlurEffect Radius="100" /> 
      </Grid.Effect> 
     </Grid> 
     <TextBlock 
      x:Name="textBlock" 
      Height="61" 
      Margin="136,82,211,0" 
      VerticalAlignment="Top" 
      Text="test" 
      TextWrapping="Wrap" /> 
    </Grid> 

我設置背景顏色,但你可以將圖像設置爲背景,默認情況下它會模糊(在這裏你應該設置綁定,並且每次視圖更改時,都必須拍攝屏幕快照並設置圖像的來源)。但是,你可能會遇到一些性能問題,但是使用一個好的編碼器(JPEG編碼器)就足夠快了。

希望能幫到你!

相關問題