From 61bc05dc0212fcc3f0445a826e45e0939a748caa Mon Sep 17 00:00:00 2001 From: Gavin Kendall Date: Fri, 7 Aug 2020 11:49:43 -0400 Subject: [PATCH] 2.3.1.8 - Region Select implemented for Regions. --- Properties/AssemblyInfo.cs | 4 +- app.manifest | 2 +- interface/FormAbout.Designer.cs | 2 - interface/FormAbout.resx | 2 +- modules/regions/FormRegion.Designer.cs | 63 ++++++++++++++++---------- modules/regions/FormRegion.cs | 21 +++++++++ readme.txt | 7 ++- 7 files changed, 69 insertions(+), 32 deletions(-) diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index b7a5f89e..09677d66 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -32,6 +32,6 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.3.1.7")] -[assembly: AssemblyFileVersion("2.3.1.7")] +[assembly: AssemblyVersion("2.3.1.8")] +[assembly: AssemblyFileVersion("2.3.1.8")] [assembly: NeutralResourcesLanguageAttribute("en-CA")] \ No newline at end of file diff --git a/app.manifest b/app.manifest index 8e7a7cb3..70ea5516 100644 --- a/app.manifest +++ b/app.manifest @@ -3,7 +3,7 @@ + version="2.3.1.8"/> True/PM diff --git a/interface/FormAbout.Designer.cs b/interface/FormAbout.Designer.cs index ff2b4610..84b2b802 100644 --- a/interface/FormAbout.Designer.cs +++ b/interface/FormAbout.Designer.cs @@ -105,13 +105,11 @@ private void InitializeComponent() this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(463, 288); this.Controls.Add(this.tabControlAbout); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.MinimizeBox = false; this.MinimumSize = new System.Drawing.Size(479, 327); this.Name = "FormAbout"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "About Auto Screen Capture"; this.tabControlAbout.ResumeLayout(false); this.tabPageDeveloper.ResumeLayout(false); diff --git a/interface/FormAbout.resx b/interface/FormAbout.resx index 4e158959..4e2abe23 100644 --- a/interface/FormAbout.resx +++ b/interface/FormAbout.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Auto Screen Capture 2.3.1.7 ("Boombayah") + Auto Screen Capture 2.3.1.8 ("Boombayah") Developed by Gavin Kendall (2008 - 2020) https://autoscreen.sourceforge.io/ diff --git a/modules/regions/FormRegion.Designer.cs b/modules/regions/FormRegion.Designer.cs index 798c9a85..edcb5ca3 100644 --- a/modules/regions/FormRegion.Designer.cs +++ b/modules/regions/FormRegion.Designer.cs @@ -64,6 +64,7 @@ private void InitializeComponent() this.checkBoxActive = new System.Windows.Forms.CheckBox(); this.labelHelp = new System.Windows.Forms.Label(); this.buttonMacroTags = new System.Windows.Forms.Button(); + this.buttonRegionSelect = new System.Windows.Forms.Button(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxPreview)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownX)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownY)).BeginInit(); @@ -135,7 +136,7 @@ private void InitializeComponent() this.labelX.Location = new System.Drawing.Point(21, 22); this.labelX.Name = "labelX"; this.labelX.Size = new System.Drawing.Size(17, 13); - this.labelX.TabIndex = 5; + this.labelX.TabIndex = 6; this.labelX.Text = "X:"; // // labelY @@ -144,7 +145,7 @@ private void InitializeComponent() this.labelY.Location = new System.Drawing.Point(125, 22); this.labelY.Name = "labelY"; this.labelY.Size = new System.Drawing.Size(17, 13); - this.labelY.TabIndex = 7; + this.labelY.TabIndex = 8; this.labelY.Text = "Y:"; // // labelWidth @@ -153,7 +154,7 @@ private void InitializeComponent() this.labelWidth.Location = new System.Drawing.Point(6, 22); this.labelWidth.Name = "labelWidth"; this.labelWidth.Size = new System.Drawing.Size(38, 13); - this.labelWidth.TabIndex = 10; + this.labelWidth.TabIndex = 11; this.labelWidth.Text = "Width:"; // // labelHeight @@ -162,7 +163,7 @@ private void InitializeComponent() this.labelHeight.Location = new System.Drawing.Point(101, 22); this.labelHeight.Name = "labelHeight"; this.labelHeight.Size = new System.Drawing.Size(41, 13); - this.labelHeight.TabIndex = 12; + this.labelHeight.TabIndex = 13; this.labelHeight.Text = "Height:"; // // numericUpDownX @@ -180,7 +181,7 @@ private void InitializeComponent() -2147483648}); this.numericUpDownX.Name = "numericUpDownX"; this.numericUpDownX.Size = new System.Drawing.Size(51, 20); - this.numericUpDownX.TabIndex = 6; + this.numericUpDownX.TabIndex = 7; this.numericUpDownX.ValueChanged += new System.EventHandler(this.updatePreviewImage); // // numericUpDownY @@ -198,7 +199,7 @@ private void InitializeComponent() -2147483648}); this.numericUpDownY.Name = "numericUpDownY"; this.numericUpDownY.Size = new System.Drawing.Size(51, 20); - this.numericUpDownY.TabIndex = 8; + this.numericUpDownY.TabIndex = 9; this.numericUpDownY.ValueChanged += new System.EventHandler(this.updatePreviewImage); // // numericUpDownWidth @@ -216,7 +217,7 @@ private void InitializeComponent() -2147483648}); this.numericUpDownWidth.Name = "numericUpDownWidth"; this.numericUpDownWidth.Size = new System.Drawing.Size(51, 20); - this.numericUpDownWidth.TabIndex = 11; + this.numericUpDownWidth.TabIndex = 12; this.numericUpDownWidth.ValueChanged += new System.EventHandler(this.updatePreviewImage); // // numericUpDownHeight @@ -234,7 +235,7 @@ private void InitializeComponent() -2147483648}); this.numericUpDownHeight.Name = "numericUpDownHeight"; this.numericUpDownHeight.Size = new System.Drawing.Size(51, 20); - this.numericUpDownHeight.TabIndex = 13; + this.numericUpDownHeight.TabIndex = 14; this.numericUpDownHeight.ValueChanged += new System.EventHandler(this.updatePreviewImage); // // buttonOK @@ -301,7 +302,7 @@ private void InitializeComponent() this.comboBoxFormat.Location = new System.Drawing.Point(148, 22); this.comboBoxFormat.Name = "comboBoxFormat"; this.comboBoxFormat.Size = new System.Drawing.Size(51, 21); - this.comboBoxFormat.TabIndex = 16; + this.comboBoxFormat.TabIndex = 19; this.comboBoxFormat.SelectedIndexChanged += new System.EventHandler(this.comboBoxRegionFormat_SelectedIndexChanged); this.comboBoxFormat.MouseHover += new System.EventHandler(this.comboBoxFormat_MouseHover); // @@ -311,7 +312,7 @@ private void InitializeComponent() this.labelFormat.Location = new System.Drawing.Point(6, 25); this.labelFormat.Name = "labelFormat"; this.labelFormat.Size = new System.Drawing.Size(42, 13); - this.labelFormat.TabIndex = 15; + this.labelFormat.TabIndex = 18; this.labelFormat.Text = "Format:"; // // numericUpDownResolutionRatio @@ -324,7 +325,7 @@ private void InitializeComponent() 0}); this.numericUpDownResolutionRatio.Name = "numericUpDownResolutionRatio"; this.numericUpDownResolutionRatio.Size = new System.Drawing.Size(51, 20); - this.numericUpDownResolutionRatio.TabIndex = 20; + this.numericUpDownResolutionRatio.TabIndex = 23; this.numericUpDownResolutionRatio.Value = new decimal(new int[] { 100, 0, @@ -338,7 +339,7 @@ private void InitializeComponent() this.labelResolutionRatio.Location = new System.Drawing.Point(6, 77); this.labelResolutionRatio.Name = "labelResolutionRatio"; this.labelResolutionRatio.Size = new System.Drawing.Size(88, 13); - this.labelResolutionRatio.TabIndex = 19; + this.labelResolutionRatio.TabIndex = 22; this.labelResolutionRatio.Text = "Resolution Ratio:"; // // numericUpDownJpegQuality @@ -351,7 +352,7 @@ private void InitializeComponent() 0}); this.numericUpDownJpegQuality.Name = "numericUpDownJpegQuality"; this.numericUpDownJpegQuality.Size = new System.Drawing.Size(51, 20); - this.numericUpDownJpegQuality.TabIndex = 18; + this.numericUpDownJpegQuality.TabIndex = 21; this.numericUpDownJpegQuality.Value = new decimal(new int[] { 100, 0, @@ -364,7 +365,7 @@ private void InitializeComponent() this.labelJpegQuality.Location = new System.Drawing.Point(6, 51); this.labelJpegQuality.Name = "labelJpegQuality"; this.labelJpegQuality.Size = new System.Drawing.Size(72, 13); - this.labelJpegQuality.TabIndex = 17; + this.labelJpegQuality.TabIndex = 20; this.labelJpegQuality.Text = "JPEG Quality:"; // // checkBoxMouse @@ -373,7 +374,7 @@ private void InitializeComponent() this.checkBoxMouse.Location = new System.Drawing.Point(9, 102); this.checkBoxMouse.Name = "checkBoxMouse"; this.checkBoxMouse.Size = new System.Drawing.Size(130, 17); - this.checkBoxMouse.TabIndex = 21; + this.checkBoxMouse.TabIndex = 24; this.checkBoxMouse.Text = "Include mouse pointer"; this.checkBoxMouse.UseVisualStyleBackColor = true; this.checkBoxMouse.CheckedChanged += new System.EventHandler(this.updatePreviewImage); @@ -389,10 +390,10 @@ private void InitializeComponent() this.groupBoxImage.Controls.Add(this.labelJpegQuality); this.groupBoxImage.Controls.Add(this.numericUpDownJpegQuality); this.groupBoxImage.Controls.Add(this.comboBoxFormat); - this.groupBoxImage.Location = new System.Drawing.Point(12, 158); + this.groupBoxImage.Location = new System.Drawing.Point(12, 262); this.groupBoxImage.Name = "groupBoxImage"; this.groupBoxImage.Size = new System.Drawing.Size(205, 126); - this.groupBoxImage.TabIndex = 14; + this.groupBoxImage.TabIndex = 17; this.groupBoxImage.TabStop = false; this.groupBoxImage.Text = "Image"; // @@ -402,10 +403,10 @@ private void InitializeComponent() this.groupBoxPosition.Controls.Add(this.labelY); this.groupBoxPosition.Controls.Add(this.numericUpDownX); this.groupBoxPosition.Controls.Add(this.numericUpDownY); - this.groupBoxPosition.Location = new System.Drawing.Point(12, 58); + this.groupBoxPosition.Location = new System.Drawing.Point(12, 103); this.groupBoxPosition.Name = "groupBoxPosition"; this.groupBoxPosition.Size = new System.Drawing.Size(205, 46); - this.groupBoxPosition.TabIndex = 4; + this.groupBoxPosition.TabIndex = 5; this.groupBoxPosition.TabStop = false; this.groupBoxPosition.Text = "Position"; // @@ -415,10 +416,10 @@ private void InitializeComponent() this.groupBoxSize.Controls.Add(this.numericUpDownHeight); this.groupBoxSize.Controls.Add(this.numericUpDownWidth); this.groupBoxSize.Controls.Add(this.labelHeight); - this.groupBoxSize.Location = new System.Drawing.Point(12, 107); + this.groupBoxSize.Location = new System.Drawing.Point(12, 152); this.groupBoxSize.Name = "groupBoxSize"; this.groupBoxSize.Size = new System.Drawing.Size(205, 46); - this.groupBoxSize.TabIndex = 9; + this.groupBoxSize.TabIndex = 10; this.groupBoxSize.TabStop = false; this.groupBoxSize.Text = "Size"; // @@ -452,10 +453,10 @@ private void InitializeComponent() // groupBoxScreenTemplate // this.groupBoxScreenTemplate.Controls.Add(this.comboBoxScreenTemplate); - this.groupBoxScreenTemplate.Location = new System.Drawing.Point(12, 288); + this.groupBoxScreenTemplate.Location = new System.Drawing.Point(12, 205); this.groupBoxScreenTemplate.Name = "groupBoxScreenTemplate"; this.groupBoxScreenTemplate.Size = new System.Drawing.Size(205, 47); - this.groupBoxScreenTemplate.TabIndex = 22; + this.groupBoxScreenTemplate.TabIndex = 15; this.groupBoxScreenTemplate.TabStop = false; this.groupBoxScreenTemplate.Text = "Import Screen Dimensions"; // @@ -466,7 +467,7 @@ private void InitializeComponent() this.comboBoxScreenTemplate.Location = new System.Drawing.Point(6, 19); this.comboBoxScreenTemplate.Name = "comboBoxScreenTemplate"; this.comboBoxScreenTemplate.Size = new System.Drawing.Size(193, 21); - this.comboBoxScreenTemplate.TabIndex = 23; + this.comboBoxScreenTemplate.TabIndex = 16; this.comboBoxScreenTemplate.SelectedIndexChanged += new System.EventHandler(this.comboBoxRegionScreenTemplate_SelectedIndexChanged); this.comboBoxScreenTemplate.MouseHover += new System.EventHandler(this.comboBoxScreenTemplate_MouseHover); // @@ -510,6 +511,18 @@ private void InitializeComponent() this.buttonMacroTags.Click += new System.EventHandler(this.buttonMacroTags_Click); this.buttonMacroTags.MouseHover += new System.EventHandler(this.buttonMacroTags_MouseHover); // + // buttonRegionSelect + // + this.buttonRegionSelect.Image = global::AutoScreenCapture.Properties.Resources.region_select; + this.buttonRegionSelect.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonRegionSelect.Location = new System.Drawing.Point(12, 69); + this.buttonRegionSelect.Name = "buttonRegionSelect"; + this.buttonRegionSelect.Size = new System.Drawing.Size(205, 23); + this.buttonRegionSelect.TabIndex = 4; + this.buttonRegionSelect.Text = "Region Select"; + this.buttonRegionSelect.UseVisualStyleBackColor = true; + this.buttonRegionSelect.Click += new System.EventHandler(this.buttonRegionSelect_Click); + // // FormRegion // this.AcceptButton = this.buttonOK; @@ -518,6 +531,7 @@ private void InitializeComponent() this.BackColor = System.Drawing.SystemColors.Control; this.CancelButton = this.buttonCancel; this.ClientSize = new System.Drawing.Size(756, 454); + this.Controls.Add(this.buttonRegionSelect); this.Controls.Add(this.buttonMacroTags); this.Controls.Add(this.labelHelp); this.Controls.Add(this.checkBoxActive); @@ -601,5 +615,6 @@ private void InitializeComponent() private System.Windows.Forms.TextBox textBoxMacroPreview; private System.Windows.Forms.Label labelHelp; private System.Windows.Forms.Button buttonMacroTags; + private System.Windows.Forms.Button buttonRegionSelect; } } \ No newline at end of file diff --git a/modules/regions/FormRegion.cs b/modules/regions/FormRegion.cs index ee74e0f2..2d6df61c 100644 --- a/modules/regions/FormRegion.cs +++ b/modules/regions/FormRegion.cs @@ -30,6 +30,7 @@ namespace AutoScreenCapture public partial class FormRegion : Form { private FormMacroTagsToolWindow _formMacroTags; + private FormRegionSelectWithMouse _formRegionSelectWithMouse; /// /// A collection of regions. @@ -474,5 +475,25 @@ private void FormRegion_FormClosing(object sender, FormClosingEventArgs e) _formMacroTags.Close(); } } + + private void buttonRegionSelect_Click(object sender, EventArgs e) + { + _formRegionSelectWithMouse = new FormRegionSelectWithMouse(); + _formRegionSelectWithMouse.MouseSelectionCompleted += _formRegionSelectWithMouse_RegionSelectMouseSelectionCompleted; + _formRegionSelectWithMouse.LoadCanvas(outputMode: 0); // 0 is for acquiring the dimensions and resolution + } + + private void _formRegionSelectWithMouse_RegionSelectMouseSelectionCompleted(object sender, EventArgs e) + { + int x = _formRegionSelectWithMouse.outputX + 1; + int y = _formRegionSelectWithMouse.outputY + 1; + int width = _formRegionSelectWithMouse.outputWidth - 2; + int height = _formRegionSelectWithMouse.outputHeight - 2; + + numericUpDownX.Value = x; + numericUpDownY.Value = y; + numericUpDownWidth.Value = width; + numericUpDownHeight.Value = height; + } } } \ No newline at end of file diff --git a/readme.txt b/readme.txt index a6cbf84c..25984428 100644 --- a/readme.txt +++ b/readme.txt @@ -1,6 +1,6 @@ Auto Screen Capture by Gavin Kendall -Last updated on 2020-08-04 (August 4, 2020) -[The information presented here refers to the latest version of the application (which is currently 2.3.1.7)] +Last updated on 2020-08-07 (August 7, 2020) +[The information presented here refers to the latest version of the application (which is currently 2.3.1.8)] ============================================================================================================= @@ -244,6 +244,9 @@ The value of the Name field can be retrieved with the %name% macro tag so it cou as part of the screenshot's filename. Therefore any characters that are invalid to Windows will be stripped out of the name (such as /, :, *, ?, \, <, >, and |). +The "Region Select" button is used to acquire the X, Y, Width, and Height values by +using a mouse-driven region selection on the screen. + Change the X and Y values in the "Position" section to adjust the region's position. X = 0 and Y = 0 usually represents the corner of the primary display. You can also use negative values to adjust the position of the region beyond the boundaries of the available screens.