Beispiel #1
0
        static Bitmap RenderShp(ISpriteSource shp, Palette p)
        {
            var frame = shp.Frames.First();

            var bitmap = new Bitmap(frame.Size.Width, frame.Size.Height, PixelFormat.Format8bppIndexed);

            bitmap.Palette = p.AsSystemPalette();

            var data = bitmap.LockBits(bitmap.Bounds(),
                                       ImageLockMode.WriteOnly, PixelFormat.Format8bppIndexed);

            unsafe
            {
                byte *q       = (byte *)data.Scan0.ToPointer();
                var   stride2 = data.Stride;

                for (var i = 0; i < frame.Size.Width; i++)
                {
                    for (var j = 0; j < frame.Size.Height; j++)
                    {
                        q[j * stride2 + i] = frame.Data[i + frame.Size.Width * j];
                    }
                }
            }

            bitmap.UnlockBits(data);
            return(bitmap);
        }
Beispiel #2
0
		static Bitmap RenderShp(ISpriteSource shp, IPalette p)
		{
			var frame = shp.Frames.First();

			var bitmap = new Bitmap(frame.Size.Width, frame.Size.Height, PixelFormat.Format8bppIndexed);

			bitmap.Palette = p.AsSystemPalette();

			var data = bitmap.LockBits(bitmap.Bounds(),
				ImageLockMode.WriteOnly, PixelFormat.Format8bppIndexed);

			unsafe
			{
				var q = (byte*)data.Scan0.ToPointer();
				var stride2 = data.Stride;

				for (var i = 0; i < frame.Size.Width; i++)
					for (var j = 0; j < frame.Size.Height; j++)
						q[j * stride2 + i] = frame.Data[i + frame.Size.Width * j];
			}

			bitmap.UnlockBits(data);
			return bitmap;
		}
Beispiel #3
0
 public SpriteArea(SceneNode sceneNode, ISpriteSource spriteSource)
 {
     _sceneNode    = sceneNode;
     _spriteSource = spriteSource;
 }
Beispiel #4
0
 protected SpriteRendererBase(ISpriteSource source)
 {
     Source = source;
 }
 private void OnSourceLoaded(ISpriteSource obj)
 {
     RefreshRequested?.Invoke(this, EventArgs.Empty);
 }
 public ConservativeTextureMapper(ISpriteSource spriteSource)
 {
     _spriteSource         = spriteSource;
     _spriteSource.Loaded += OnSourceLoaded;
 }
Beispiel #7
0
 public TexturingRenderer(FillingRectangle fillingRectangle, ISpriteSource source)
     : base(source)
 {
     _fillingRectangle = fillingRectangle;
     SubscribeDepthChanged(_fillingRectangle.SceneNode);
 }
Beispiel #8
0
 public SpriteRenderer(ISpriteSource source, SceneNode sceneNode)
     : base(source)
 {
     _sceneNode = sceneNode;
     SubscribeDepthChanged(_sceneNode);
 }