Пример #1
0
        private void DrawTile(Graphics graphics, int colsCounter, int rowsCounter)
        {
            using (var tile = Image.FromFile(this.filesEnumerator.GetNextFileName()))
            {
                var tileTransformerSettings = new TileTransformerSettings
                {
                    GraphicsDpiX = graphics.DpiX,
                    GraphicsDpiY = graphics.DpiY,
                    ScalePercent = settings.Dimensions.TileScalePercent
                };

                using (var tileTransformed = this.tileTransformer.Transform(tile, tileTransformerSettings))
                {
                    graphics.DrawImage(
                        tileTransformed,
                        colsCounter * this.settings.Dimensions.TileWidth,
                        rowsCounter * this.settings.Dimensions.TileHeight)
                    ;
                }
            }
        }
Пример #2
0
        public Image Transform(Image tile, TileTransformerSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }

            if (tile == null)
            {
                throw new ArgumentNullException("tile");
            }

            var tileScaled = tile.Scale(settings.ScalePercent);

            if (Math.Abs(tileScaled.HorizontalResolution - settings.GraphicsDpiX) > 0.01 ||
                Math.Abs(tileScaled.VerticalResolution - settings.GraphicsDpiY) > 0.01)
            {
                tileScaled.SetResolution(settings.GraphicsDpiX, settings.GraphicsDpiY);
            }

            return(tileScaled);
        }