2

複数のボタンがあり、それぞれに32x32ピクセルのPNG画像があります。奇妙なことに、両方のボタンのサイズが異なります(はい、アイコンが実際に32x32であることをトリプルチェックしました!)。秒ボタンは、48x48ピクセルのサイズのように見えます。最も面白いのは、Stretch="None"属性を省略すると、アイコンが画面全体に表示されるように拡大されることです。

なぜこれが起こっているのか私は自分自身を説明することはできません!

    <ToolBar Name="toolBar1" DockPanel.Dock="Top">
        <Button Name="importButton" ToolTip="Import" Click="importButton_Click">
            <Image Source="Icons/Import.png" Stretch="None" />
        </Button>
        <Button Name="toggleDetails" ToolTip="Details for Item" Click="toggleDetails_Click">
            <Image Source="Icons/maximize.png" Stretch="None" />
        </Button>           
    </ToolBar>

    <StackPanel Name="stackPanel1" DockPanel.Dock="Top" Orientation="Horizontal" Margin="0,5,0,5">
        <Label  Name="label2" Content="Find"></Label>
        <TextBox  Name="tags" Width="400" KeyDown="tags_KeyDown" />
        <Button ToolTip="Find" Name="findItemsButton" Click="findItemsButton_Click">
            <Image Source="Icons/xmag.png" Stretch="None" />
        </Button>
        <CheckBox Content="Show Closed" Name="showClosedItemsCheckBox" VerticalAlignment="Center" Margin="10,0,0,0" Click="showClosedItemsCheckBox_Click" />
    </StackPanel>
    <TabControl  Name="tabControl" TabStripPlacement="Top">

    </TabControl>

</DockPanel>

4

3 に答える 3

6

2 つの画像の DPI が異なる可能性があります。

于 2010-12-05T00:51:45.273 に答える
5

を設定Stretch="None"してもImage、それでも大きく/小さく/ぼやけて見える場合は、DPIの不一致が原因である可能性があります。

たとえば、PNGファイルはDPIを保存します。Windowsには特定のDPIがあります。システムのDPIを確認し、PNGのDPIを確認してください。

Photoshopで移動するImage -> Image Sizeと、ドット/インチボックスが表示されます。これを使用してDPIを変更することもできます。Resample ImageDPIのみを変更するように、チェックボックスを無効にしてください。Save for Web通常はその情報を保存しないため、その変更を保存するためにダイアログを使用する必要がありSave Asます。

ここに画像の説明を入力してください

私の場合、サイズが24x24のPNGファイルとDPI 72.009があり、システムはデフォルトのDPIになっています。写真は大きくぼやけて見えましたが、PhotoshopでPNG DPIを72.009から72に調整し、を使用した後は問題ありませんSave for Web

于 2012-04-28T10:42:59.590 に答える
2

SLaks の回答をフォローアップするには: DPI に関係なく画像のピクセル ディメンションを使用するには、次のようにソースの PixelWidth と PixelHeight に幅と高さをバインドできます。

<Button Name="toggleDetails" ToolTip="Details for Item" Click="toggleDetails_Click">  
    <Image Source="Icons/maximize.png"
           Stretch="None"
           Width="{Binding RelativeSource={RelativeSource Self}, Path=Source.PixelWidth}"
           Height="{Binding RelativeSource={RelativeSource Self}, Path=Source.PixelHeight}"/>
</Button>
于 2010-12-05T19:27:08.197 に答える