mirror of
https://github.com/ShareX/ShareX.git
synced 2024-06-28 03:00:22 +12:00
Added capture last region button to region capture menu
This commit is contained in:
parent
fadddf7ade
commit
316e9a4388
|
@ -46,6 +46,7 @@ public enum RegionResult
|
|||
{
|
||||
Close,
|
||||
Region,
|
||||
LastRegion,
|
||||
Fullscreen,
|
||||
Monitor,
|
||||
ActiveMonitor,
|
||||
|
|
|
@ -1072,11 +1072,22 @@ public Image GetResultImage()
|
|||
|
||||
return img;
|
||||
}
|
||||
else if (Result == RegionResult.Region)
|
||||
else if (Result == RegionResult.Region || Result == RegionResult.LastRegion)
|
||||
{
|
||||
GraphicsPath gp;
|
||||
|
||||
if (Result == RegionResult.LastRegion)
|
||||
{
|
||||
gp = LastRegionFillPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
gp = regionFillPath;
|
||||
}
|
||||
|
||||
using (Image img = GetOutputImage())
|
||||
{
|
||||
return RegionCaptureTasks.ApplyRegionPathToImage(img, regionFillPath);
|
||||
return RegionCaptureTasks.ApplyRegionPathToImage(img, gp);
|
||||
}
|
||||
}
|
||||
else if (Result == RegionResult.Fullscreen)
|
||||
|
@ -1148,15 +1159,19 @@ protected override void Dispose(bool disposing)
|
|||
|
||||
if (regionFillPath != null)
|
||||
{
|
||||
if (LastRegionFillPath != null) LastRegionFillPath.Dispose();
|
||||
LastRegionFillPath = regionFillPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (regionFillPath != null) regionFillPath.Dispose();
|
||||
if (regionDrawPath != null) regionDrawPath.Dispose();
|
||||
if (Result == RegionResult.Region)
|
||||
{
|
||||
if (LastRegionFillPath != null) LastRegionFillPath.Dispose();
|
||||
|
||||
LastRegionFillPath = regionFillPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
regionFillPath.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
if (regionDrawPath != null) regionDrawPath.Dispose();
|
||||
if (Image != null) Image.Dispose();
|
||||
|
||||
base.Dispose(disposing);
|
||||
|
|
|
@ -364,6 +364,16 @@ internal class Resources {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap layer {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("layer", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
|
|
|
@ -480,4 +480,7 @@ Distance: {6:0.00} px / Angle: {7:0.00}°</value>
|
|||
<data name="test_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\test_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="layer" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\layer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
BIN
ShareX.ScreenCaptureLib/Resources/layer.png
Normal file
BIN
ShareX.ScreenCaptureLib/Resources/layer.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 460 B |
|
@ -474,7 +474,7 @@ private void CreateToolbar()
|
|||
tsMain.Items.Add(tsddbCapture);
|
||||
|
||||
tsmiRegionCapture = new ToolStripMenuItem("Capture regions");
|
||||
tsmiRegionCapture.Image = Resources.layers;
|
||||
tsmiRegionCapture.Image = Resources.layer;
|
||||
tsmiRegionCapture.MouseDown += (sender, e) =>
|
||||
{
|
||||
form.UpdateRegionPath();
|
||||
|
@ -482,6 +482,14 @@ private void CreateToolbar()
|
|||
};
|
||||
tsddbCapture.DropDownItems.Add(tsmiRegionCapture);
|
||||
|
||||
if (RegionCaptureForm.LastRegionFillPath != null)
|
||||
{
|
||||
ToolStripMenuItem tsmiLastRegionCapture = new ToolStripMenuItem("Capture last region");
|
||||
tsmiLastRegionCapture.Image = Resources.layers;
|
||||
tsmiLastRegionCapture.MouseDown += (sender, e) => form.Close(RegionResult.LastRegion);
|
||||
tsddbCapture.DropDownItems.Add(tsmiLastRegionCapture);
|
||||
}
|
||||
|
||||
ToolStripMenuItem tsmiFullscreenCapture = new ToolStripMenuItem(Resources.ShapeManager_CreateContextMenu_Capture_fullscreen);
|
||||
tsmiFullscreenCapture.Image = Resources.layer_fullscreen;
|
||||
tsmiFullscreenCapture.MouseDown += (sender, e) => form.Close(RegionResult.Fullscreen);
|
||||
|
|
|
@ -165,6 +165,7 @@
|
|||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\layer.png" />
|
||||
<None Include="Resources\test_32.png" />
|
||||
<None Include="Resources\layers.png" />
|
||||
<None Include="Resources\eraser.png" />
|
||||
|
|
Loading…
Reference in a new issue