2011-12-01 108 views
2

我在我的WPF應用程序中使用Microsoft.Windows.Controls.Ribbon,並且它將RibbonCommand圖像拉伸得比它應該的大。的圖像被插入如下:RibbonControl正在拉伸圖像

<r:RibbonApplicationMenu.Command> 
    <r:RibbonCommand LargeImageSource="/Resources/Images/FSRibbon.png" /> 
</r:RibbonApplicationMenu.Command> 

這裏是FSRibbon.png:enter image description here 它是一個32x28 32位PNG。我也嘗試過32 x 32,以及一個48 x 48的空填充。就像它的被拉伸到48×48帆布

enter image description here

正如你所看到的,它變得炸掉:無論我做什麼,色帶控制顯示這一點。但是,如果我提供48x48的圖像,它會發揮同樣的作用。 RibbonCommand不提供任何方式來控制圖像的延伸,所以沒有什麼像<Image/>對象的Stretch="None"屬性給我設置。到底是怎麼回事?


嘗試

我已經試過這樣: enter image description here

+0

你試過SmallImageSource,只是不給它一個LargeImageSource? – Paparazzi

+0

SmallImageSource是一些不同的屬性。如果您使用功能區按鈕,則設置SmallImageSource而不是LargeImageSource將圖像留空。 – Alain

回答

4

This問題放倒我離開的事實,WPF是不是適應不同的圖像分辨率有這麼神奇(DPI /像素每英寸等)。前面提到的問題說,Windows標準是96 DPI,我猜是像素/英寸的同義詞。我上面上傳的圖像恰好是72像素/英寸。

我試圖將它轉換爲96使用GIMP(開源圖像編輯器)中的'縮放圖像',神奇地,它開始正確處理。

enter image description here- >enter image description here

彷彿我們卑微的程序員都應該知道這個垃圾:P