아메리카노
1
현재 이러한 코드로 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개의 좋아요
아메리카노
2
무서울 정도로 질문을 하기만 하면 해결되네요,
이틀을 못했는데 5분만에 해결했습니다.
Grid로 감싸고 Viewport 자체의 크기를 바꾸니까 되는 것 같네요
Viewbox.LayoutTransform = new ScaleTransform(Viewbox.LayoutTransform.Value.M11 * 0.9, Viewbox.LayoutTransform.Value.M22 * 0.9);
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개의 좋아요
아메리카노
4
감사합니다 ㅎㅎ 디모이님 덕분에 해결하고 Pan 구현하고있습니당
1개의 좋아요