在Windows应用商店应用中剪切图像

时间:2016-09-15 15:24:07

标签: image xaml uwp uwp-xaml

那么我们如何在UWP a.k.a. Windows Store应用程序中执行 sprites this SO post中描述的两种方法在UWP中不起作用。 (CroppedBitmap班级不起作用且ImageBrush班级没有Viewbox属性)。我尝试用ClipRenderTransform,但也没有成功。下一步去哪儿?

1 个答案:

答案 0 :(得分:1)

正如@ibebbs所说, Win2D 是在UWP中使用精灵的不错选择。 Win2D是一款易于使用的Windows运行时API,可通过GPU加速实现即时模式2D图形渲染。 Win2D中的CanvasSpriteBatch Class针对精灵场景进行了优化。

CanvasSpriteBatch 允许更有效地绘制多个位图,并且比DrawImage API具有更好的性能,特别是如果使用相同的源位图连续绘制多个精灵。 CanvasSpriteBatch 支持以下功能:

有关如何使用CanvasSpriteBatch的更多信息,请参阅GitHub上的CanvasSpriteBatch Class documentSprite Sheets sample

<强>更新

如果您不想使用Win2D,可以通过 ImageBrush Transform 来实现您想要的一种简单方法:

<Rectangle Width="128" Height="192">
    <Rectangle.Fill>
        <ImageBrush AlignmentX="Left"
                    AlignmentY="Top"
                    ImageSource="Assets/WizardIdleRight.png"
                    Stretch="None">
            <ImageBrush.Transform>
                <TranslateTransform x:Name="SpriteSheetOffset" X="0" Y="-384" />
            </ImageBrush.Transform>
        </ImageBrush>
    </Rectangle.Fill>
</Rectangle>

我在WizardIdleRight.png使用Sprite Sheets sample,我们可以更改 TranslateTransform 中的偏移量来显示我们想要的精灵。