private void btnGenerate_Click(object sender, EventArgs e) { if (!InputIsValid()) { return; } StartGenerate(); var generator = new ZoomableImageGenerator(); generator.Progress += (s, ea) => { pbGenerating.Value = (int)ea.Progress; Application.DoEvents(); }; try { generator.InputFilePath = txtSource.Text; generator.OutputDirPath = txtOutput.Text; generator.BaseName = txtBaseName.Text; generator.FileStructure = txtFileStructure.Text; generator.TileSize = (int)nudTileSize.Value; switch ((string)cmbImageFormat.SelectedItem) { case "PNG": generator.TileImageFormat = TileImageFormat.PNG; break; default: generator.TileImageFormat = TileImageFormat.JPEG; break; } generator.TileJpegQuality = (int)nudJpegQuality.Value; generator.TileSize = (int)nudTileSize.Value; generator.ViewerCreation = chbViewerCreation.Checked; generator.ViewerWidth = (int)nudViewerWidth.Value; generator.ViewerHeight = (int)nudViewerHeight.Value; generator.Generate(); if (chbViewerCreation.Checked && chbOpenInWebBrowser.Checked) { System.Diagnostics.Process.Start(Path.Combine(txtOutput.Text, txtBaseName.Text + ".htm")); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } EndGenerate(); }
static void Main(string[] args) { if (args == null || args.Length < 2) { ShowHelp(); return; } var tileGenerator = new ZoomableImageGenerator(); tileGenerator.Progress += (s, e) => { Console.WriteLine("{0:F2}%", e.Progress); }; try { tileGenerator.InputFilePath = args[0]; } catch (Exception e) { Console.WriteLine("Incorrect [INPUT FILE]\r\n {0}", e.Message); return; } try { tileGenerator.OutputDirPath = args[1]; } catch (Exception e) { Console.Write("Incorrect [OUTPUT FILE]\r\n {0}", e.Message); return; } int i = 2; while (i < args.Length) { //Only -v option can be passed without additional data if (args[i] != "-v" && i + 1 >= args.Length) { ShowHelp(); return; } switch (args[i]) { case "-v": tileGenerator.ViewerCreation = true; i--; break; case "-b": try { tileGenerator.BaseName = args[i + 1]; } catch (Exception e) { Console.Write(e.Message); return; } break; case "-w": int viewerWidth; if (!Int32.TryParse(args[i + 1], out viewerWidth) || viewerWidth < 1) { ShowHelp(); return; } tileGenerator.ViewerWidth = viewerWidth; break; case "-h": int viewerHeight; if (!Int32.TryParse(args[i + 1], out viewerHeight) || viewerHeight < 1) { ShowHelp(); return; } tileGenerator.ViewerHeight = viewerHeight; break; case "-t": int tileSize; if (!Int32.TryParse(args[i + 1], out tileSize) || tileSize < 1) { ShowHelp(); return; } tileGenerator.TileSize = tileSize; break; case "-f": switch (args[i + 1]) { case "JPEG": tileGenerator.TileImageFormat = TileImageFormat.JPEG; break; case "PNG": tileGenerator.TileImageFormat = TileImageFormat.PNG; break; default: ShowHelp(); return; } break; case "-q": int tileJpegQuality; if (!Int32.TryParse(args[i + 1], out tileJpegQuality) || tileJpegQuality < 0 || tileJpegQuality > 100) { ShowHelp(); return; } tileGenerator.TileJpegQuality = tileJpegQuality; break; case "-s": try { tileGenerator.FileStructure = args[i + 1]; } catch (Exception e) { Console.WriteLine(e.Message); return; } break; default: ShowHelp(); return; } i += 2; } try { tileGenerator.Generate(); } catch (Exception e) { Console.WriteLine(e.Message); } }