1. ホーム
  2. wpf

[解決済み] WPF: 画像を元の大きさで表示するには?

2022-12-12 07:05:31

質問

WPFで画像を表示するのに問題があります。

以下は私のコードです。

<Button HorizontalAlignment="Left" Grid.Column="1" Grid.Row="5" Margin="0,5">
        <Button.Content>
            <StackPanel Orientation="Horizontal" Margin="10,0">
                <Image Source="/images/user_add.png" Stretch="None" HorizontalAlignment="Center" VerticalAlignment="Center" Width="24" Height="24" />
                <TextBlock Text="添加" />
            </StackPanel>
        </Button.Content>
    </Button>

元のサイズが32*32の画像があるのですが、上記のコードを実行すると、画像が元のサイズを超えて、すべてのスペースを埋めるために引き伸ばされます。また、"Stretch" プロパティを "None" に設定しましたが、それはうまくいかないようです。

そこで、この問題を解決するにはどうしたらよいでしょうか。 ありがとうございます。

どのように解決するのですか?

ここで は同じような質問です。一般的に設定 Stretch="None" で十分です。

メタデータで画像がどのようなDPIに設定されているかも非常に重要です。 画像のDPIがモニタのDPI(通常は96)と異なる場合、そのことを理解するまでにかなり時間がかかりました。 WPFはDPIに依存しないので、自動的に画像のサイズを変更します。 .


EDIT

MSDN のリンクが壊れているので、新しいリンクを以下に示します。 MSDN ブログ - 不鮮明なビットマップ . 新しいリンクが機能しなくなった場合に備えて、古いリンクは archive.org 用に残しておきましょう。