本文整理汇总了C#中Microsoft.Graphics.Canvas.CanvasDrawingSession.CreateSpriteBatch方法的典型用法代码示例。如果您正苦于以下问题:C# CanvasDrawingSession.CreateSpriteBatch方法的具体用法?C# CanvasDrawingSession.CreateSpriteBatch怎么用?C# CanvasDrawingSession.CreateSpriteBatch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Graphics.Canvas.CanvasDrawingSession
的用法示例。
在下文中一共展示了CanvasDrawingSession.CreateSpriteBatch方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Draw
public override void Draw(CanvasDrawingSession drawingSession, bool useSpriteBatch)
{
if (!surfaceLoaded)
return;
// 保护原先画布的混合模式
var previousBlend = drawingSession.Blend;
drawingSession.Blend = blendState;
#if WINDOWS_UWP
if (useSpriteBatch)
{
// 使用 SpriteBatch 可以提高性能
using (var spriteBatch = drawingSession.CreateSpriteBatch())
{
Draw(drawingSession, spriteBatch);
}
}
else
{
Draw(drawingSession, null);
}
#else
Draw(drawingSession);
#endif
drawingSession.Blend = previousBlend;
}
示例2: Draw
public void Draw(CanvasDrawingSession drawingSession, bool useSpriteBatch)
{
if (surfaceLoaded)
{
// 保护原先画布的混合模式
var previousBlend = drawingSession.Blend;
drawingSession.Blend = CanvasBlend.SourceOver;
#if WINDOWS_UWP
if (useSpriteBatch)
{
// 使用 SpriteBatch 可以提高性能
using (var spriteBatch = drawingSession.CreateSpriteBatch())
{
Draw(drawingSession, spriteBatch);
}
}
else
{
Draw(drawingSession, null);
}
#else
Draw(drawingSession);
#endif
drawingSession.Blend = previousBlend;
}
}
示例3: Draw
// Draws all of the active particles.
public void Draw(CanvasDrawingSession drawingSession, bool useSpriteBatch)
{
var previousBlend = drawingSession.Blend;
drawingSession.Blend = blendState;
#if WINDOWS_UWP
if (useSpriteBatch)
{
using (var spriteBatch = drawingSession.CreateSpriteBatch())
{
Draw(drawingSession, spriteBatch);
}
}
else
{
Draw(drawingSession, null);
}
#else
Draw(drawingSession);
#endif
drawingSession.Blend = previousBlend;
}
示例4: RunScenario
public void RunScenario(CanvasDrawingSession drawingSession, CanvasSpriteSortMode sortMode)
{
switch (method)
{
case Scenario.DrawMethod.Win2DSpriteBatch:
using (var sb = drawingSession.CreateSpriteBatch(sortMode))
{
foreach (var sprite in sprites)
{
sb.Draw(sprite.Bitmap, sprite.Position, sprite.Tint, Vector2.Zero, sprite.Rotation, Vector2.One, CanvasSpriteFlip.None);
}
}
break;
case Scenario.DrawMethod.DrawImage:
var oldTransform = drawingSession.Transform;
foreach (var sprite in sprites)
{
drawingSession.Transform = Matrix3x2.CreateRotation(sprite.Rotation) * Matrix3x2.CreateTranslation(sprite.Position);
drawingSession.DrawImage(sprite.Bitmap, Vector2.Zero, sprite.Bitmap.Bounds, sprite.Tint.W);
}
drawingSession.Transform = oldTransform;
break;
}
}