我正在尝试从wpf中的spritesheet创建一个动画精灵。我正在使用的当前技术是将包含动画的所有帧的图像分解为单独的图像,然后将它们交换出来。
然而,这在内存上代价很高,并且想知道是否有办法只绘制图像的一部分(指定源矩形)而不是将图像分割。
答案 0 :(得分:1)
你绝对可以做到这一点。为了使WPF的内置动画系统支持这一点,您需要为依赖属性设置动画。在您的情况下,似乎您希望使用SourceRect
类CroppedBitmap
为RectAnimationUsingKeyFrames
DiscreteRectKeyFrame
属性设置动画。
如果您使用Image
元素显示图片,则可以将其Source
属性设置为CroppedBitmap
,然后裁剪后的位图将具有Source
属性设为BitmapImage
。裁剪的位图包装标准位图并添加裁剪功能。