Added magnify strength option

This commit is contained in:
Jaex 2019-05-03 10:40:54 +03:00
parent 89ff9f0f34
commit 01bfe03112
3 changed files with 32 additions and 2 deletions

View file

@ -84,6 +84,9 @@ public class AnnotationOptions
public int StepFontSize { get; set; } = 18;
public bool StepUseLetters { get; set; } = false;
// Magnify drawing
public int MagnifyStrength { get; set; } = 200;
// Sticker drawing
public List<StickerPackInfo> StickerPacks = new List<StickerPackInfo>()
{

View file

@ -35,6 +35,18 @@ public class MagnifyDrawingShape : EllipseDrawingShape
public int MagnifyStrength { get; set; } = 200;
public override void OnConfigLoad()
{
base.OnConfigLoad();
MagnifyStrength = AnnotationOptions.MagnifyStrength;
}
public override void OnConfigSave()
{
base.OnConfigSave();
AnnotationOptions.MagnifyStrength = MagnifyStrength;
}
public override void OnDraw(Graphics g)
{
g.PixelOffsetMode = PixelOffsetMode.Half;
@ -45,7 +57,7 @@ public override void OnDraw(Graphics g)
gp.AddEllipse(Rectangle);
g.SetClip(gp);
float magnify = Math.Max(MagnifyStrength, 200) / 100;
float magnify = Math.Max(MagnifyStrength, 100) / 100;
int newWidth = (int)(Rectangle.Width / magnify);
int newHeight = (int)(Rectangle.Height / magnify);

View file

@ -51,7 +51,7 @@ internal partial class ShapeManager
private ToolStripMenuItem tsmiArrowHeadsBothSide, tsmiShadow, tsmiShadowColor, tsmiStepUseLetters, tsmiUndo, tsmiDelete, tsmiDeleteAll, tsmiMoveTop,
tsmiMoveUp, tsmiMoveDown, tsmiMoveBottom, tsmiRegionCapture, tsmiQuickCrop, tsmiShowMagnifier, tsmiImageEditorBackgroundColor;
private ToolStripLabeledNumericUpDown tslnudBorderSize, tslnudCornerRadius, tslnudCenterPoints, tslnudBlurRadius, tslnudPixelateSize, tslnudStepFontSize,
tslnudMagnifierPixelCount, tslnudStartingStepValue;
tslnudMagnifierPixelCount, tslnudStartingStepValue, tslnudMagnifyStrength;
private ToolStripLabel tslDragLeft, tslDragRight;
private ToolStripLabeledComboBox tscbImageInterpolationMode, tscbCursorTypes;
@ -607,6 +607,18 @@ internal void CreateToolbar()
};
tsddbShapeOptions.DropDownItems.Add(tsmiShadowColor);
// TODO: Translate
tslnudMagnifyStrength = new ToolStripLabeledNumericUpDown("Magnify strength:");
tslnudMagnifyStrength.Content.Minimum = 100;
tslnudMagnifyStrength.Content.Maximum = 1000;
tslnudMagnifyStrength.Content.Increment = 100;
tslnudMagnifyStrength.Content.ValueChanged = (sender, e) =>
{
AnnotationOptions.MagnifyStrength = (int)tslnudMagnifyStrength.Content.Value;
UpdateCurrentShape();
};
tsddbShapeOptions.DropDownItems.Add(tslnudMagnifyStrength);
// In dropdown menu if only last item is visible then menu opens at 0, 0 position on first open, so need to add dummy item to solve this weird bug...
tsddbShapeOptions.DropDownItems.Add(new ToolStripSeparator() { Visible = false });
@ -1356,6 +1368,8 @@ private void UpdateMenu()
tslnudStartingStepValue.Content.Value = StartingStepNumber;
tsmiStepUseLetters.Checked = AnnotationOptions.StepUseLetters;
tslnudMagnifyStrength.Content.Value = AnnotationOptions.MagnifyStrength;
tsmiShadow.Checked = AnnotationOptions.Shadow;
if (tsmiShadowColor.Image != null) tsmiShadowColor.Image.Dispose();
@ -1450,6 +1464,7 @@ private void UpdateMenu()
tscbImageInterpolationMode.Visible = shapeType == ShapeType.DrawingImage || shapeType == ShapeType.DrawingImageScreen;
tslnudStartingStepValue.Visible = shapeType == ShapeType.DrawingStep;
tslnudStepFontSize.Visible = tsmiStepUseLetters.Visible = shapeType == ShapeType.DrawingStep;
tslnudMagnifyStrength.Visible = shapeType == ShapeType.DrawingMagnify;
tscbCursorTypes.Visible = shapeType == ShapeType.DrawingCursor;
tslnudBlurRadius.Visible = shapeType == ShapeType.EffectBlur;
tslnudPixelateSize.Visible = shapeType == ShapeType.EffectPixelate;