wpf의 스프라이트 시트에서 애니메이션 스프라이트를 만들려고합니다. 현재 사용하고있는 기술은 애니메이션의 모든 프레임을 포함하는 이미지를 별도의 이미지로 분해 한 다음 스왑하는 것입니다.WPF 스프라이트 시트 애니메이션
그러나 이것은 메모리 비용이 많이 들고 이미지를 분할하는 대신 이미지 섹션을 그리는 방법 (소스 사각형 지정)이 있는지 궁금합니다.
wpf의 스프라이트 시트에서 애니메이션 스프라이트를 만들려고합니다. 현재 사용하고있는 기술은 애니메이션의 모든 프레임을 포함하는 이미지를 별도의 이미지로 분해 한 다음 스왑하는 것입니다.WPF 스프라이트 시트 애니메이션
그러나 이것은 메모리 비용이 많이 들고 이미지를 분할하는 대신 이미지 섹션을 그리는 방법 (소스 사각형 지정)이 있는지 궁금합니다.
분명히 할 수 있습니다. 이 기능을 WPF의 내장 애니메이션 시스템에서 지원하려면 종속성 속성에 애니메이션을 적용해야합니다. 귀하의 경우에는 DiscreteRectKeyFrame
클래스를 사용하여 RectAnimationUsingKeyFrames
을 사용하여 CroppedBitmap
의 SourceRect
속성에 애니메이션을 적용하려는 것으로 보입니다. 당신은 당신이이 CroppedBitmap
-Source
숙박 시설의 설정 것 인 Image
요소를 사용하여 이미지를 표시하는 경우
후 자른 비트 맵은 Source
속성은 BitmapImage
로 설정해야합니다. 자른 비트 맵은 표준 비트 맵을 래핑하고 자르기 기능을 추가합니다.
사실 저는 SourceRect 속성이 Rect가 아니라 Int32Rect임을 깨달았습니다. 이것은 조금 더 까다로울 것입니다 ... –
CroppedBitmap은 불행히도 꽤 불변합니다 :/ –
맞습니다. 'ObjectAnimationUsingKeyFrames'를 사용하여 속성을 애니메이트 할 수 있었지만 BeginInit 및 EndInit 외부의 속성에 대한 변경 사항은 무시됩니다. –
도움이 될 수 있도록 몇 가지 코드를 게시해야합니다. – Aybe
어쩌면 만약 당신이'Path'로 변환 할 수 있다면 – Tico
여기에 내가 사용하고있는 현재 기술을 설명하는 링크가 있습니다 : http://programmingwithkinect.wordpress.com/2013/04/09/sprite-animation-in-wpf-c/ –