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) ; } } }
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); }