当前位置: 首页>>代码示例>>C#>>正文


C# CanvasDrawingSession.CreateSpriteBatch方法代码示例

本文整理汇总了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;
        }
开发者ID:aurora-lzzp,项目名称:Aurora-Weather,代码行数:28,代码来源:StarParticleSystem.cs

示例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;
            }
        }
开发者ID:aurora-lzzp,项目名称:Aurora-Weather,代码行数:29,代码来源:SolarSystem.cs

示例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;
        }
开发者ID:fengweijp,项目名称:Win2D,代码行数:25,代码来源:ParticleSystem.cs

示例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;
                }
            }
开发者ID:fengweijp,项目名称:Win2D,代码行数:25,代码来源:SpriteBatchPerf.xaml.cs


注:本文中的Microsoft.Graphics.Canvas.CanvasDrawingSession.CreateSpriteBatch方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。