WPF : 이미지를 원래 크기로 표시하는 방법은 무엇입니까?
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에 독립적이 되려고하므로 이미지의 크기를 자동으로 조정 한다는 사실을 알아 내기까지 꽤 오랜 시간이 걸렸습니다 .
<Image Source="Images/Background.png" UseLayoutRounding="True" SnapsToDevicePixels="True" Width="600" Height="800" Stretch="Fill" />
이 이미지는 600x800 pixels
및 96dpi
.
@ rishad2m8 크기를 알 수없는 경우 https://msdn.microsoft.com/en-us/library/system.drawing.image.size(v=vs.110).aspx로 크기를 먼저 감지 할 수 있습니다 .
너비 나 높이를 지정하지 말고 대신 다음과 같이 사용하십시오.
<Image Source="/images/user_add.png" Stretch="None" HorizontalAlignment="Center" VerticalAlignment="Center" />
파야의 대답에 추가 : 보상하는 WPF
당신이 설정할 수 있어야 모니터 해상도에 적응의 시도 Width
와 Height
파일의 원래 크기와 사용을 Stretch="Fill"
. 이것은 나를 위해 일했습니다.
이미지를 원래 크기로 표시하고 싶지만 이미지 크기를 모르는 경우 가장 좋은 방법은 이미지를 UIElement의 배경으로 설정하는 것입니다. 이렇게 :
<Button>
<Button.Background>
<ImageBrush ImageSource="/images/user_add.png" Stretch="None"/>
</Button.Background>
</Button>
참고 URL : https://stackoverflow.com/questions/3055550/wpf-how-to-display-an-image-at-its-original-size
'Programing' 카테고리의 다른 글
jQuery.ajax에서 콘텐츠 유형을 'application / json'으로 설정할 수 없습니다. (0) | 2020.08.25 |
---|---|
Pandas는 열 이름만으로 빈 DataFrame을 만듭니다. (0) | 2020.08.25 |
Java 32 비트와 64 비트 호환성 (0) | 2020.08.25 |
pinterest api 문서 (0) | 2020.08.25 |
Android : 의도에 대한 setFlags와 addFlags의 차이점은 무엇입니까? (0) | 2020.08.25 |