ImageExportForm.cs 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. using System;
  2. using System.Windows.Forms;
  3. using FastReport.Utils;
  4. using FastReport.Export;
  5. using FastReport.Export.Image;
  6. namespace FastReport.Forms
  7. {
  8. /// <summary>
  9. /// Form for <see cref="ImageExport"/>.
  10. /// For internal use only.
  11. /// </summary>
  12. public partial class ImageExportForm : BaseExportForm
  13. {
  14. private void cbxImageFormat_SelectedIndexChanged(object sender, EventArgs e)
  15. {
  16. int index = cbxImageFormat.SelectedIndex;
  17. bool isJpeg = index == 2;
  18. bool isTiff = index == 4;
  19. lblQuality.Enabled = isJpeg;
  20. udQuality.Enabled = isJpeg;
  21. cbMultiFrameTiff.Enabled = isTiff;
  22. cbMonochrome.Enabled = isTiff;
  23. lblX.Visible = isTiff;
  24. udResolutionY.Visible = isTiff;
  25. cbMultiFrameTiff_CheckedChanged(null, EventArgs.Empty);
  26. }
  27. private void cbMultiFrameTiff_CheckedChanged(object sender, EventArgs e)
  28. {
  29. cbSeparateFiles.Enabled = !cbMultiFrameTiff.Checked || !cbMultiFrameTiff.Enabled;
  30. }
  31. /// <inheritdoc/>
  32. public override void Init(ExportBase export)
  33. {
  34. base.Init(export);
  35. ImageExport imageExport = Export as ImageExport;
  36. cbxImageFormat.SelectedIndex = (int)imageExport.ImageFormat;
  37. udResolution.Value = imageExport.ResolutionX;
  38. udResolutionY.Value = imageExport.ResolutionY;
  39. udQuality.Value = imageExport.JpegQuality;
  40. cbSeparateFiles.Checked = imageExport.SeparateFiles;
  41. cbMultiFrameTiff.Checked = imageExport.MultiFrameTiff;
  42. cbMonochrome.Checked = imageExport.MonochromeTiff;
  43. cbMultiFrameTiff_CheckedChanged(null, EventArgs.Empty);
  44. }
  45. /// <inheritdoc/>
  46. protected override void Done()
  47. {
  48. base.Done();
  49. ImageExport imageExport = Export as ImageExport;
  50. imageExport.ImageFormat = (ImageExportFormat)cbxImageFormat.SelectedIndex;
  51. if (imageExport.ImageFormat == ImageExportFormat.Tiff)
  52. {
  53. imageExport.ResolutionX = (int)udResolution.Value;
  54. imageExport.ResolutionY = (int)udResolutionY.Value;
  55. }
  56. else
  57. {
  58. imageExport.ResolutionX = (int)udResolution.Value;
  59. imageExport.ResolutionY = (int)udResolution.Value;
  60. }
  61. imageExport.JpegQuality = (int)udQuality.Value;
  62. imageExport.SeparateFiles = cbSeparateFiles.Checked;
  63. imageExport.MultiFrameTiff = cbMultiFrameTiff.Checked;
  64. imageExport.MonochromeTiff = cbMonochrome.Checked;
  65. }
  66. /// <inheritdoc/>
  67. public override void Localize()
  68. {
  69. base.Localize();
  70. MyRes res = new MyRes("Export,Image");
  71. Text = res.Get("");
  72. gbOptions.Text = Res.Get("Export,Misc,Options");
  73. lblImageFormat.Text = res.Get("ImageFormat");
  74. lblResolution.Text = res.Get("Resolution");
  75. lblQuality.Text = res.Get("Quality");
  76. cbSeparateFiles.Text = res.Get("SeparateFiles");
  77. cbMultiFrameTiff.Text = res.Get("MultiFrame");
  78. cbMonochrome.Text = res.Get("Monochrome");
  79. cbxImageFormat.Items.AddRange(new string[] {
  80. res.Get("Bmp"), res.Get("Png"), res.Get("Jpeg"), res.Get("Gif"), res.Get("Tiff"), res.Get("Metafile") });
  81. }
  82. /// <summary>
  83. /// Initializes a new instance of the <see cref="ImageExportForm"/> class.
  84. /// </summary>
  85. public ImageExportForm()
  86. {
  87. InitializeComponent();
  88. }
  89. }
  90. }