Exemplo n.º 1
0
        public override void Perform(Tileset tileset, PreviewImageQuery query)
        {
            int desiredWidth  = query.DesiredWidth;
            int desiredHeight = query.DesiredHeight;

            TilesetRenderInput input      = tileset.RenderConfig.FirstOrDefault(c => c.SourceData != null);
            Pixmap             mainPixmap = (input != null) ? input.SourceData.Res : null;
            PixelData          layer      = (mainPixmap != null) ? mainPixmap.MainLayer : null;

            if (layer == null)
            {
                query.Result = new Bitmap(1, 1);
                return;
            }
            float widthRatio = (float)layer.Width / (float)layer.Height;

            layer = layer.CloneSubImage(0, 0, desiredWidth * 2, desiredHeight * 2);
            layer.Rescale(desiredWidth, desiredHeight);

            query.Result = layer.ToBitmap();
        }