ํ์ฌ ์ด๋ฌํ ์ฝ๋๋ก image๋ฅผ zoom controlํ๊ณ ์์ต๋๋ค.
if (e.delta > 0)
{
zoomFactor *= 1.1;
}
else
{
zoomFactor *= 0.9;
}
Image.RenderTransform = new ScaleTransform(zoomFactor, zoomFactor);
์ ๊ฐ ์ํ๋ ๋์์ ์๋ฅผ ๋ค์ด width์ height์ด 300์ด๋ผ๊ณ ํ ๋ ํด๋น ๊ฐ์ ๊ณ ์ ํ๊ณ
๋ด๋ถ ์ด๋ฏธ์ง๋ง zoom in out ๋๋ ๊ฒ์
๋๋ค.
๊ฒฝํ์น๊ฐ ๊ฒฌ์ง์ธ์ง๋ผ ์ด๋ค ์์ฑ์ ๊ฑด๋ค์ฌ์ผ width, height์ ๊ณ ์ ํ๊ณ zoom in out ๋๋์ง๋ฅผ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋์์ฃผ์๋ฉด ๋๋ฌด ๊ฐ์ฌํ ๊ฒ ๊ฐ์ต๋๋ค. !
1๊ฐ์ ์ข์์
๋ฌด์์ธ ์ ๋๋ก ์ง๋ฌธ์ ํ๊ธฐ๋ง ํ๋ฉด ํด๊ฒฐ๋๋ค์,
์ดํ์ ๋ชปํ๋๋ฐ 5๋ถ๋ง์ ํด๊ฒฐํ์ต๋๋ค.
Grid๋ก ๊ฐ์ธ๊ณ Viewport ์์ฒด์ ํฌ๊ธฐ๋ฅผ ๋ฐ๊พธ๋๊น ๋๋ ๊ฒ ๊ฐ๋ค์
Viewbox.LayoutTransform = new ScaleTransform(Viewbox.LayoutTransform.Value.M11 * 0.9, Viewbox.LayoutTransform.Value.M22 * 0.9);
3๊ฐ์ ์ข์์
dimohy
3
๊ฐ์ธ๋ Grid์ ClipToBounds
์์ฑ ๊ฐ์ True
๋ก ์ฃผ๋ฉด ์๋ง ์ํ๋ ๊ฒฐ๊ณผ์ด์ง ์์๊น ํฉ๋๋ค.
| ClipToBounds = โFalseโ

| ClipToBounds = โTrueโ

<Grid
Width="200"
Height="200"
Background="Red"
ClipToBounds="True">
<Image Source="https://www.hdec.kr/FileContents/EditorImg/20211227/%EA%B0%95%EC%9B%90%20%EC%A0%95%EC%84%A0%20%EB%A7%8C%ED%95%AD%EC%9E%AC_770.jpg">
<Image.RenderTransform>
<ScaleTransform ScaleX="2" ScaleY="2" />
</Image.RenderTransform>
</Image>
</Grid>
1๊ฐ์ ์ข์์
๊ฐ์ฌํฉ๋๋ค ใ
ใ
๋๋ชจ์ด๋ ๋๋ถ์ ํด๊ฒฐํ๊ณ Pan ๊ตฌํํ๊ณ ์์ต๋๋น
1๊ฐ์ ์ข์์