mirror of
https://github.com/greenshot/greenshot
synced 2025-07-14 00:53:51 -07:00
Added settings forms for DropShadowEffect & TornEdgeEffect
git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@2380 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4
This commit is contained in:
parent
6579d49d49
commit
38de4875e0
10 changed files with 696 additions and 31 deletions
|
@ -22,6 +22,9 @@ using System;
|
||||||
using GreenshotPlugin.Controls;
|
using GreenshotPlugin.Controls;
|
||||||
|
|
||||||
namespace Greenshot {
|
namespace Greenshot {
|
||||||
|
/// <summary>
|
||||||
|
/// This class is only here to help in the Designer mode, so it's clear where the language files are
|
||||||
|
/// </summary>
|
||||||
public class AnimatingBaseForm : AnimatingForm {
|
public class AnimatingBaseForm : AnimatingForm {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,9 @@ using System;
|
||||||
using GreenshotPlugin.Controls;
|
using GreenshotPlugin.Controls;
|
||||||
|
|
||||||
namespace Greenshot {
|
namespace Greenshot {
|
||||||
|
/// <summary>
|
||||||
|
/// This class is only here to help in the Designer mode, so it's clear where the language files are
|
||||||
|
/// </summary>
|
||||||
public class BaseForm : GreenshotForm {
|
public class BaseForm : GreenshotForm {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
226
Greenshot/Forms/DropShadowSettingsForm.Designer.cs
generated
Normal file
226
Greenshot/Forms/DropShadowSettingsForm.Designer.cs
generated
Normal file
|
@ -0,0 +1,226 @@
|
||||||
|
namespace Greenshot.Forms {
|
||||||
|
partial class DropShadowSettingsForm {
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing) {
|
||||||
|
if (disposing && (components != null)) {
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent() {
|
||||||
|
this.thickness = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.offsetX = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
|
this.offsetY = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.trackBar1 = new System.Windows.Forms.TrackBar();
|
||||||
|
this.buttonOK = new GreenshotPlugin.Controls.GreenshotButton();
|
||||||
|
this.buttonCancel = new GreenshotPlugin.Controls.GreenshotButton();
|
||||||
|
this.labelDarkness = new GreenshotPlugin.Controls.GreenshotLabel();
|
||||||
|
this.labelOffset = new GreenshotPlugin.Controls.GreenshotLabel();
|
||||||
|
this.labelThickness = new GreenshotPlugin.Controls.GreenshotLabel();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.thickness)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.offsetX)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.offsetY)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.trackBar1)).BeginInit();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// thickness
|
||||||
|
//
|
||||||
|
this.thickness.Location = new System.Drawing.Point(173, 7);
|
||||||
|
this.thickness.Maximum = new decimal(new int[] {
|
||||||
|
20,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.thickness.Minimum = new decimal(new int[] {
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.thickness.Name = "thickness";
|
||||||
|
this.thickness.Size = new System.Drawing.Size(45, 20);
|
||||||
|
this.thickness.TabIndex = 0;
|
||||||
|
this.thickness.Value = new decimal(new int[] {
|
||||||
|
9,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
//
|
||||||
|
// offsetX
|
||||||
|
//
|
||||||
|
this.offsetX.Location = new System.Drawing.Point(102, 33);
|
||||||
|
this.offsetX.Maximum = new decimal(new int[] {
|
||||||
|
20,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.offsetX.Minimum = new decimal(new int[] {
|
||||||
|
20,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
-2147483648});
|
||||||
|
this.offsetX.Name = "offsetX";
|
||||||
|
this.offsetX.Size = new System.Drawing.Size(45, 20);
|
||||||
|
this.offsetX.TabIndex = 4;
|
||||||
|
this.offsetX.Value = new decimal(new int[] {
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
-2147483648});
|
||||||
|
//
|
||||||
|
// label3
|
||||||
|
//
|
||||||
|
this.label3.AutoSize = true;
|
||||||
|
this.label3.Location = new System.Drawing.Point(153, 35);
|
||||||
|
this.label3.Name = "label3";
|
||||||
|
this.label3.Size = new System.Drawing.Size(14, 13);
|
||||||
|
this.label3.TabIndex = 5;
|
||||||
|
this.label3.Text = "X";
|
||||||
|
//
|
||||||
|
// offsetY
|
||||||
|
//
|
||||||
|
this.offsetY.Location = new System.Drawing.Point(173, 33);
|
||||||
|
this.offsetY.Maximum = new decimal(new int[] {
|
||||||
|
20,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.offsetY.Minimum = new decimal(new int[] {
|
||||||
|
20,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
-2147483648});
|
||||||
|
this.offsetY.Name = "offsetY";
|
||||||
|
this.offsetY.Size = new System.Drawing.Size(45, 20);
|
||||||
|
this.offsetY.TabIndex = 6;
|
||||||
|
this.offsetY.Value = new decimal(new int[] {
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
-2147483648});
|
||||||
|
//
|
||||||
|
// trackBar1
|
||||||
|
//
|
||||||
|
this.trackBar1.Location = new System.Drawing.Point(102, 59);
|
||||||
|
this.trackBar1.Maximum = 40;
|
||||||
|
this.trackBar1.Minimum = 1;
|
||||||
|
this.trackBar1.Name = "trackBar1";
|
||||||
|
this.trackBar1.Size = new System.Drawing.Size(116, 45);
|
||||||
|
this.trackBar1.TabIndex = 7;
|
||||||
|
this.trackBar1.Value = 40;
|
||||||
|
//
|
||||||
|
// buttonOK
|
||||||
|
//
|
||||||
|
this.buttonOK.LanguageKey = "OK";
|
||||||
|
this.buttonOK.Location = new System.Drawing.Point(62, 110);
|
||||||
|
this.buttonOK.Name = "buttonOK";
|
||||||
|
this.buttonOK.Size = new System.Drawing.Size(75, 23);
|
||||||
|
this.buttonOK.TabIndex = 11;
|
||||||
|
this.buttonOK.Text = "Ok";
|
||||||
|
this.buttonOK.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
|
||||||
|
//
|
||||||
|
// buttonCancel
|
||||||
|
//
|
||||||
|
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||||
|
this.buttonCancel.LanguageKey = "CANCEL";
|
||||||
|
this.buttonCancel.Location = new System.Drawing.Point(143, 110);
|
||||||
|
this.buttonCancel.Name = "buttonCancel";
|
||||||
|
this.buttonCancel.Size = new System.Drawing.Size(75, 23);
|
||||||
|
this.buttonCancel.TabIndex = 12;
|
||||||
|
this.buttonCancel.Text = "Cancel";
|
||||||
|
this.buttonCancel.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// labelDarkness
|
||||||
|
//
|
||||||
|
this.labelDarkness.AutoSize = true;
|
||||||
|
this.labelDarkness.LanguageKey = "editor_dropshadow_darkness";
|
||||||
|
this.labelDarkness.Location = new System.Drawing.Point(12, 73);
|
||||||
|
this.labelDarkness.Name = "labelDarkness";
|
||||||
|
this.labelDarkness.Size = new System.Drawing.Size(52, 13);
|
||||||
|
this.labelDarkness.TabIndex = 13;
|
||||||
|
this.labelDarkness.Text = "Darkness";
|
||||||
|
//
|
||||||
|
// labelOffset
|
||||||
|
//
|
||||||
|
this.labelOffset.AutoSize = true;
|
||||||
|
this.labelOffset.LanguageKey = "editor_dropshadow_offset";
|
||||||
|
this.labelOffset.Location = new System.Drawing.Point(12, 40);
|
||||||
|
this.labelOffset.Name = "labelOffset";
|
||||||
|
this.labelOffset.Size = new System.Drawing.Size(35, 13);
|
||||||
|
this.labelOffset.TabIndex = 14;
|
||||||
|
this.labelOffset.Text = "Offset";
|
||||||
|
//
|
||||||
|
// labelThickness
|
||||||
|
//
|
||||||
|
this.labelThickness.AutoSize = true;
|
||||||
|
this.labelThickness.LanguageKey = "editor_dropshadow_thickness";
|
||||||
|
this.labelThickness.Location = new System.Drawing.Point(12, 14);
|
||||||
|
this.labelThickness.Name = "labelThickness";
|
||||||
|
this.labelThickness.Size = new System.Drawing.Size(56, 13);
|
||||||
|
this.labelThickness.TabIndex = 15;
|
||||||
|
this.labelThickness.Text = "Thickness";
|
||||||
|
//
|
||||||
|
// CreateShadowForm
|
||||||
|
//
|
||||||
|
this.AcceptButton = this.buttonOK;
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.CancelButton = this.buttonCancel;
|
||||||
|
this.ClientSize = new System.Drawing.Size(230, 154);
|
||||||
|
this.ControlBox = false;
|
||||||
|
this.Controls.Add(this.labelThickness);
|
||||||
|
this.Controls.Add(this.labelOffset);
|
||||||
|
this.Controls.Add(this.labelDarkness);
|
||||||
|
this.Controls.Add(this.buttonCancel);
|
||||||
|
this.Controls.Add(this.buttonOK);
|
||||||
|
this.Controls.Add(this.trackBar1);
|
||||||
|
this.Controls.Add(this.offsetY);
|
||||||
|
this.Controls.Add(this.label3);
|
||||||
|
this.Controls.Add(this.offsetX);
|
||||||
|
this.Controls.Add(this.thickness);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
|
||||||
|
this.LanguageKey = "editor_dropshadow_settings";
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.MinimizeBox = false;
|
||||||
|
this.Name = "CreateShadowForm";
|
||||||
|
this.ShowIcon = false;
|
||||||
|
this.Text = "CreateShadowForm";
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.thickness)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.offsetX)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.offsetY)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.trackBar1)).EndInit();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.NumericUpDown thickness;
|
||||||
|
private System.Windows.Forms.NumericUpDown offsetX;
|
||||||
|
private System.Windows.Forms.Label label3;
|
||||||
|
private System.Windows.Forms.NumericUpDown offsetY;
|
||||||
|
private System.Windows.Forms.TrackBar trackBar1;
|
||||||
|
private GreenshotPlugin.Controls.GreenshotButton buttonOK;
|
||||||
|
private GreenshotPlugin.Controls.GreenshotButton buttonCancel;
|
||||||
|
private GreenshotPlugin.Controls.GreenshotLabel labelDarkness;
|
||||||
|
private GreenshotPlugin.Controls.GreenshotLabel labelOffset;
|
||||||
|
private GreenshotPlugin.Controls.GreenshotLabel labelThickness;
|
||||||
|
}
|
||||||
|
}
|
30
Greenshot/Forms/DropShadowSettingsForm.cs
Normal file
30
Greenshot/Forms/DropShadowSettingsForm.cs
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using Greenshot.Core;
|
||||||
|
using GreenshotPlugin.Core;
|
||||||
|
|
||||||
|
namespace Greenshot.Forms {
|
||||||
|
public partial class DropShadowSettingsForm : BaseForm {
|
||||||
|
private DropShadowEffect effect;
|
||||||
|
public DropShadowSettingsForm(DropShadowEffect effect) {
|
||||||
|
this.effect = effect;
|
||||||
|
InitializeComponent();
|
||||||
|
this.Icon = GreenshotResources.getGreenshotIcon();
|
||||||
|
trackBar1.Value = (int)(effect.Darkness * 40);
|
||||||
|
offsetX.Value = effect.ShadowOffset.X;
|
||||||
|
offsetY.Value = effect.ShadowOffset.Y;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void buttonOK_Click(object sender, EventArgs e) {
|
||||||
|
effect.Darkness = (float)trackBar1.Value / (float)40;
|
||||||
|
effect.ShadowOffset = new Point((int)offsetX.Value, (int)offsetY.Value);
|
||||||
|
effect.ShadowSize = (int)thickness.Value;
|
||||||
|
DialogResult = DialogResult.OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1204,13 +1204,21 @@ namespace Greenshot {
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddDropshadowToolStripMenuItemClick(object sender, EventArgs e) {
|
void AddDropshadowToolStripMenuItemClick(object sender, EventArgs e) {
|
||||||
surface.ApplyBitmapEffect(new DropShadowEffect());
|
DropShadowEffect dropShadowEffect= new DropShadowEffect();
|
||||||
updateUndoRedoSurfaceDependencies();
|
DialogResult result = new DropShadowSettingsForm(dropShadowEffect).ShowDialog(this);
|
||||||
|
if (result == DialogResult.OK) {
|
||||||
|
surface.ApplyBitmapEffect(dropShadowEffect);
|
||||||
|
updateUndoRedoSurfaceDependencies();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TornEdgesToolStripMenuItemClick(object sender, EventArgs e) {
|
void TornEdgesToolStripMenuItemClick(object sender, EventArgs e) {
|
||||||
surface.ApplyBitmapEffect(new TornEdgeEffect());
|
TornEdgeEffect tornEdgeEffect = new TornEdgeEffect();
|
||||||
updateUndoRedoSurfaceDependencies();
|
DialogResult result = new TornEdgeSettingsForm(tornEdgeEffect).ShowDialog(this);
|
||||||
|
if (result == DialogResult.OK) {
|
||||||
|
surface.ApplyBitmapEffect(tornEdgeEffect);
|
||||||
|
updateUndoRedoSurfaceDependencies();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GrayscaleToolStripMenuItemClick(object sender, EventArgs e) {
|
void GrayscaleToolStripMenuItemClick(object sender, EventArgs e) {
|
||||||
|
|
346
Greenshot/Forms/TornEdgeSettingsForm.Designer.cs
generated
Normal file
346
Greenshot/Forms/TornEdgeSettingsForm.Designer.cs
generated
Normal file
|
@ -0,0 +1,346 @@
|
||||||
|
namespace Greenshot.Forms {
|
||||||
|
partial class TornEdgeSettingsForm {
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing) {
|
||||||
|
if (disposing && (components != null)) {
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent() {
|
||||||
|
this.thickness = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.offsetX = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
|
this.offsetY = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.trackBar1 = new System.Windows.Forms.TrackBar();
|
||||||
|
this.buttonOK = new GreenshotPlugin.Controls.GreenshotButton();
|
||||||
|
this.buttonCancel = new GreenshotPlugin.Controls.GreenshotButton();
|
||||||
|
this.labelDarkness = new GreenshotPlugin.Controls.GreenshotLabel();
|
||||||
|
this.labelOffset = new GreenshotPlugin.Controls.GreenshotLabel();
|
||||||
|
this.labelThickness = new GreenshotPlugin.Controls.GreenshotLabel();
|
||||||
|
this.toothsize = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label_toothsize = new GreenshotPlugin.Controls.GreenshotLabel();
|
||||||
|
this.label_horizontaltoothrange = new GreenshotPlugin.Controls.GreenshotLabel();
|
||||||
|
this.horizontaltoothrange = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.labelVerticaltoothrange = new GreenshotPlugin.Controls.GreenshotLabel();
|
||||||
|
this.verticaltoothrange = new System.Windows.Forms.NumericUpDown();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.thickness)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.offsetX)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.offsetY)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.trackBar1)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.toothsize)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.horizontaltoothrange)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.verticaltoothrange)).BeginInit();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// thickness
|
||||||
|
//
|
||||||
|
this.thickness.Location = new System.Drawing.Point(173, 7);
|
||||||
|
this.thickness.Maximum = new decimal(new int[] {
|
||||||
|
20,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.thickness.Minimum = new decimal(new int[] {
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.thickness.Name = "thickness";
|
||||||
|
this.thickness.Size = new System.Drawing.Size(45, 20);
|
||||||
|
this.thickness.TabIndex = 0;
|
||||||
|
this.thickness.Value = new decimal(new int[] {
|
||||||
|
9,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
//
|
||||||
|
// offsetX
|
||||||
|
//
|
||||||
|
this.offsetX.Location = new System.Drawing.Point(102, 33);
|
||||||
|
this.offsetX.Maximum = new decimal(new int[] {
|
||||||
|
20,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.offsetX.Minimum = new decimal(new int[] {
|
||||||
|
20,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
-2147483648});
|
||||||
|
this.offsetX.Name = "offsetX";
|
||||||
|
this.offsetX.Size = new System.Drawing.Size(45, 20);
|
||||||
|
this.offsetX.TabIndex = 4;
|
||||||
|
this.offsetX.Value = new decimal(new int[] {
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
-2147483648});
|
||||||
|
//
|
||||||
|
// label3
|
||||||
|
//
|
||||||
|
this.label3.AutoSize = true;
|
||||||
|
this.label3.Location = new System.Drawing.Point(153, 35);
|
||||||
|
this.label3.Name = "label3";
|
||||||
|
this.label3.Size = new System.Drawing.Size(14, 13);
|
||||||
|
this.label3.TabIndex = 5;
|
||||||
|
this.label3.Text = "X";
|
||||||
|
//
|
||||||
|
// offsetY
|
||||||
|
//
|
||||||
|
this.offsetY.Location = new System.Drawing.Point(173, 33);
|
||||||
|
this.offsetY.Maximum = new decimal(new int[] {
|
||||||
|
20,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.offsetY.Minimum = new decimal(new int[] {
|
||||||
|
20,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
-2147483648});
|
||||||
|
this.offsetY.Name = "offsetY";
|
||||||
|
this.offsetY.Size = new System.Drawing.Size(45, 20);
|
||||||
|
this.offsetY.TabIndex = 6;
|
||||||
|
this.offsetY.Value = new decimal(new int[] {
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
-2147483648});
|
||||||
|
//
|
||||||
|
// trackBar1
|
||||||
|
//
|
||||||
|
this.trackBar1.Location = new System.Drawing.Point(102, 59);
|
||||||
|
this.trackBar1.Maximum = 40;
|
||||||
|
this.trackBar1.Minimum = 1;
|
||||||
|
this.trackBar1.Name = "trackBar1";
|
||||||
|
this.trackBar1.Size = new System.Drawing.Size(116, 45);
|
||||||
|
this.trackBar1.TabIndex = 7;
|
||||||
|
this.trackBar1.Value = 40;
|
||||||
|
//
|
||||||
|
// buttonOK
|
||||||
|
//
|
||||||
|
this.buttonOK.LanguageKey = "OK";
|
||||||
|
this.buttonOK.Location = new System.Drawing.Point(62, 206);
|
||||||
|
this.buttonOK.Name = "buttonOK";
|
||||||
|
this.buttonOK.Size = new System.Drawing.Size(75, 23);
|
||||||
|
this.buttonOK.TabIndex = 11;
|
||||||
|
this.buttonOK.Text = "Ok";
|
||||||
|
this.buttonOK.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
|
||||||
|
//
|
||||||
|
// buttonCancel
|
||||||
|
//
|
||||||
|
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||||
|
this.buttonCancel.LanguageKey = "CANCEL";
|
||||||
|
this.buttonCancel.Location = new System.Drawing.Point(143, 206);
|
||||||
|
this.buttonCancel.Name = "buttonCancel";
|
||||||
|
this.buttonCancel.Size = new System.Drawing.Size(75, 23);
|
||||||
|
this.buttonCancel.TabIndex = 12;
|
||||||
|
this.buttonCancel.Text = "Cancel";
|
||||||
|
this.buttonCancel.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// labelDarkness
|
||||||
|
//
|
||||||
|
this.labelDarkness.AutoSize = true;
|
||||||
|
this.labelDarkness.LanguageKey = "editor_dropshadow_darkness";
|
||||||
|
this.labelDarkness.Location = new System.Drawing.Point(12, 73);
|
||||||
|
this.labelDarkness.Name = "labelDarkness";
|
||||||
|
this.labelDarkness.Size = new System.Drawing.Size(52, 13);
|
||||||
|
this.labelDarkness.TabIndex = 13;
|
||||||
|
this.labelDarkness.Text = "Darkness";
|
||||||
|
//
|
||||||
|
// labelOffset
|
||||||
|
//
|
||||||
|
this.labelOffset.AutoSize = true;
|
||||||
|
this.labelOffset.LanguageKey = "editor_dropshadow_offset";
|
||||||
|
this.labelOffset.Location = new System.Drawing.Point(12, 40);
|
||||||
|
this.labelOffset.Name = "labelOffset";
|
||||||
|
this.labelOffset.Size = new System.Drawing.Size(35, 13);
|
||||||
|
this.labelOffset.TabIndex = 14;
|
||||||
|
this.labelOffset.Text = "Offset";
|
||||||
|
//
|
||||||
|
// labelThickness
|
||||||
|
//
|
||||||
|
this.labelThickness.AutoSize = true;
|
||||||
|
this.labelThickness.LanguageKey = "editor_dropshadow_thickness";
|
||||||
|
this.labelThickness.Location = new System.Drawing.Point(12, 14);
|
||||||
|
this.labelThickness.Name = "labelThickness";
|
||||||
|
this.labelThickness.Size = new System.Drawing.Size(56, 13);
|
||||||
|
this.labelThickness.TabIndex = 15;
|
||||||
|
this.labelThickness.Text = "Thickness";
|
||||||
|
//
|
||||||
|
// toothsize
|
||||||
|
//
|
||||||
|
this.toothsize.Location = new System.Drawing.Point(173, 110);
|
||||||
|
this.toothsize.Maximum = new decimal(new int[] {
|
||||||
|
40,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.toothsize.Minimum = new decimal(new int[] {
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.toothsize.Name = "toothsize";
|
||||||
|
this.toothsize.Size = new System.Drawing.Size(45, 20);
|
||||||
|
this.toothsize.TabIndex = 16;
|
||||||
|
this.toothsize.Value = new decimal(new int[] {
|
||||||
|
12,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
//
|
||||||
|
// label_toothsize
|
||||||
|
//
|
||||||
|
this.label_toothsize.AutoSize = true;
|
||||||
|
this.label_toothsize.LanguageKey = "editor_tornedge_toothsize";
|
||||||
|
this.label_toothsize.Location = new System.Drawing.Point(12, 112);
|
||||||
|
this.label_toothsize.Name = "label_toothsize";
|
||||||
|
this.label_toothsize.Size = new System.Drawing.Size(56, 13);
|
||||||
|
this.label_toothsize.TabIndex = 17;
|
||||||
|
this.label_toothsize.Text = "Tooth size";
|
||||||
|
//
|
||||||
|
// label_horizontaltoothrange
|
||||||
|
//
|
||||||
|
this.label_horizontaltoothrange.AutoSize = true;
|
||||||
|
this.label_horizontaltoothrange.LanguageKey = "editor_tornedge_horizontaltoothrange";
|
||||||
|
this.label_horizontaltoothrange.Location = new System.Drawing.Point(12, 138);
|
||||||
|
this.label_horizontaltoothrange.Name = "label_horizontaltoothrange";
|
||||||
|
this.label_horizontaltoothrange.Size = new System.Drawing.Size(111, 13);
|
||||||
|
this.label_horizontaltoothrange.TabIndex = 19;
|
||||||
|
this.label_horizontaltoothrange.Text = "Horizontal tooth range";
|
||||||
|
//
|
||||||
|
// horizontaltoothrange
|
||||||
|
//
|
||||||
|
this.horizontaltoothrange.Location = new System.Drawing.Point(173, 136);
|
||||||
|
this.horizontaltoothrange.Maximum = new decimal(new int[] {
|
||||||
|
40,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.horizontaltoothrange.Minimum = new decimal(new int[] {
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.horizontaltoothrange.Name = "horizontaltoothrange";
|
||||||
|
this.horizontaltoothrange.Size = new System.Drawing.Size(45, 20);
|
||||||
|
this.horizontaltoothrange.TabIndex = 18;
|
||||||
|
this.horizontaltoothrange.Value = new decimal(new int[] {
|
||||||
|
20,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
//
|
||||||
|
// labelVerticaltoothrange
|
||||||
|
//
|
||||||
|
this.labelVerticaltoothrange.AutoSize = true;
|
||||||
|
this.labelVerticaltoothrange.LanguageKey = "editor_tornedge_verticaltoothrange";
|
||||||
|
this.labelVerticaltoothrange.Location = new System.Drawing.Point(12, 164);
|
||||||
|
this.labelVerticaltoothrange.Name = "labelVerticaltoothrange";
|
||||||
|
this.labelVerticaltoothrange.Size = new System.Drawing.Size(99, 13);
|
||||||
|
this.labelVerticaltoothrange.TabIndex = 21;
|
||||||
|
this.labelVerticaltoothrange.Text = "Vertical tooth range";
|
||||||
|
//
|
||||||
|
// verticaltoothrange
|
||||||
|
//
|
||||||
|
this.verticaltoothrange.Location = new System.Drawing.Point(173, 162);
|
||||||
|
this.verticaltoothrange.Maximum = new decimal(new int[] {
|
||||||
|
40,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.verticaltoothrange.Minimum = new decimal(new int[] {
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.verticaltoothrange.Name = "verticaltoothrange";
|
||||||
|
this.verticaltoothrange.Size = new System.Drawing.Size(45, 20);
|
||||||
|
this.verticaltoothrange.TabIndex = 20;
|
||||||
|
this.verticaltoothrange.Value = new decimal(new int[] {
|
||||||
|
20,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
//
|
||||||
|
// TornEdgeSettingsForm
|
||||||
|
//
|
||||||
|
this.AcceptButton = this.buttonOK;
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.CancelButton = this.buttonCancel;
|
||||||
|
this.ClientSize = new System.Drawing.Size(230, 241);
|
||||||
|
this.ControlBox = false;
|
||||||
|
this.Controls.Add(this.labelVerticaltoothrange);
|
||||||
|
this.Controls.Add(this.verticaltoothrange);
|
||||||
|
this.Controls.Add(this.label_horizontaltoothrange);
|
||||||
|
this.Controls.Add(this.horizontaltoothrange);
|
||||||
|
this.Controls.Add(this.label_toothsize);
|
||||||
|
this.Controls.Add(this.toothsize);
|
||||||
|
this.Controls.Add(this.labelThickness);
|
||||||
|
this.Controls.Add(this.labelOffset);
|
||||||
|
this.Controls.Add(this.labelDarkness);
|
||||||
|
this.Controls.Add(this.buttonCancel);
|
||||||
|
this.Controls.Add(this.buttonOK);
|
||||||
|
this.Controls.Add(this.trackBar1);
|
||||||
|
this.Controls.Add(this.offsetY);
|
||||||
|
this.Controls.Add(this.label3);
|
||||||
|
this.Controls.Add(this.offsetX);
|
||||||
|
this.Controls.Add(this.thickness);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
|
||||||
|
this.LanguageKey = "editor_tornedge_settings";
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.MinimizeBox = false;
|
||||||
|
this.Name = "TornEdgeSettingsForm";
|
||||||
|
this.ShowIcon = false;
|
||||||
|
this.Text = "CreateShadowForm";
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.thickness)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.offsetX)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.offsetY)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.trackBar1)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.toothsize)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.horizontaltoothrange)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.verticaltoothrange)).EndInit();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.NumericUpDown thickness;
|
||||||
|
private System.Windows.Forms.NumericUpDown offsetX;
|
||||||
|
private System.Windows.Forms.Label label3;
|
||||||
|
private System.Windows.Forms.NumericUpDown offsetY;
|
||||||
|
private System.Windows.Forms.TrackBar trackBar1;
|
||||||
|
private GreenshotPlugin.Controls.GreenshotButton buttonOK;
|
||||||
|
private GreenshotPlugin.Controls.GreenshotButton buttonCancel;
|
||||||
|
private GreenshotPlugin.Controls.GreenshotLabel labelDarkness;
|
||||||
|
private GreenshotPlugin.Controls.GreenshotLabel labelOffset;
|
||||||
|
private GreenshotPlugin.Controls.GreenshotLabel labelThickness;
|
||||||
|
private System.Windows.Forms.NumericUpDown toothsize;
|
||||||
|
private GreenshotPlugin.Controls.GreenshotLabel label_toothsize;
|
||||||
|
private GreenshotPlugin.Controls.GreenshotLabel label_horizontaltoothrange;
|
||||||
|
private System.Windows.Forms.NumericUpDown horizontaltoothrange;
|
||||||
|
private GreenshotPlugin.Controls.GreenshotLabel labelVerticaltoothrange;
|
||||||
|
private System.Windows.Forms.NumericUpDown verticaltoothrange;
|
||||||
|
}
|
||||||
|
}
|
36
Greenshot/Forms/TornEdgeSettingsForm.cs
Normal file
36
Greenshot/Forms/TornEdgeSettingsForm.cs
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using Greenshot.Core;
|
||||||
|
using GreenshotPlugin.Core;
|
||||||
|
|
||||||
|
namespace Greenshot.Forms {
|
||||||
|
public partial class TornEdgeSettingsForm : BaseForm {
|
||||||
|
private TornEdgeEffect effect;
|
||||||
|
public TornEdgeSettingsForm(TornEdgeEffect effect) {
|
||||||
|
this.effect = effect;
|
||||||
|
InitializeComponent();
|
||||||
|
this.Icon = GreenshotResources.getGreenshotIcon();
|
||||||
|
trackBar1.Value = (int)(effect.Darkness * 40);
|
||||||
|
offsetX.Value = effect.ShadowOffset.X;
|
||||||
|
offsetY.Value = effect.ShadowOffset.Y;
|
||||||
|
toothsize.Value = effect.ToothHeight;
|
||||||
|
verticaltoothrange.Value = effect.VerticalToothRange;
|
||||||
|
horizontaltoothrange.Value = effect.HorizontalToothRange;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void buttonOK_Click(object sender, EventArgs e) {
|
||||||
|
effect.Darkness = (float)trackBar1.Value / (float)40;
|
||||||
|
effect.ShadowOffset = new Point((int)offsetX.Value, (int)offsetY.Value);
|
||||||
|
effect.ShadowSize = (int)thickness.Value;
|
||||||
|
effect.ToothHeight = (int)toothsize.Value;
|
||||||
|
effect.VerticalToothRange = (int)verticaltoothrange.Value;
|
||||||
|
effect.HorizontalToothRange = (int)horizontaltoothrange.Value;
|
||||||
|
DialogResult = DialogResult.OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -134,6 +134,12 @@
|
||||||
<Compile Include="Forms\CaptureForm.Designer.cs">
|
<Compile Include="Forms\CaptureForm.Designer.cs">
|
||||||
<DependentUpon>CaptureForm.cs</DependentUpon>
|
<DependentUpon>CaptureForm.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Forms\DropShadowSettingsForm.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Forms\DropShadowSettingsForm.Designer.cs">
|
||||||
|
<DependentUpon>DropShadowSettingsForm.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Forms\ImageEditorForm.cs">
|
<Compile Include="Forms\ImageEditorForm.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
@ -143,6 +149,12 @@
|
||||||
<Compile Include="Forms\AnimatingBaseForm.cs">
|
<Compile Include="Forms\AnimatingBaseForm.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Forms\TornEdgeSettingsForm.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Forms\TornEdgeSettingsForm.Designer.cs">
|
||||||
|
<DependentUpon>TornEdgeSettingsForm.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Forms\LanguageDialog.cs">
|
<Compile Include="Forms\LanguageDialog.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|
|
@ -57,35 +57,36 @@ namespace Greenshot.Core {
|
||||||
get;
|
get;
|
||||||
set;
|
set;
|
||||||
}
|
}
|
||||||
public Bitmap Apply(Bitmap sourceBitmap, out Point offsetChange) {
|
public virtual Bitmap Apply(Bitmap sourceBitmap, out Point offsetChange) {
|
||||||
return ImageHelper.CreateShadow(sourceBitmap, Darkness, ShadowSize, ShadowOffset, out offsetChange, PixelFormat.Format32bppArgb); //Image.PixelFormat);
|
return ImageHelper.CreateShadow(sourceBitmap, Darkness, ShadowSize, ShadowOffset, out offsetChange, PixelFormat.Format32bppArgb); //Image.PixelFormat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// TornEdgeEffect
|
/// TornEdgeEffect extends on DropShadowEffect
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class TornEdgeEffect : IEffect {
|
public class TornEdgeEffect : DropShadowEffect {
|
||||||
public TornEdgeEffect() {
|
public TornEdgeEffect() : base() {
|
||||||
Darkness = 1f;
|
|
||||||
ShadowSize = 7;
|
ShadowSize = 7;
|
||||||
ShadowOffset = new Point(-1, -1);
|
ToothHeight = 12;
|
||||||
|
HorizontalToothRange = 20;
|
||||||
|
VerticalToothRange = 20;
|
||||||
}
|
}
|
||||||
public float Darkness {
|
public int ToothHeight {
|
||||||
get;
|
get;
|
||||||
set;
|
set;
|
||||||
}
|
}
|
||||||
public int ShadowSize {
|
public int HorizontalToothRange {
|
||||||
get;
|
get;
|
||||||
set;
|
set;
|
||||||
}
|
}
|
||||||
public Point ShadowOffset {
|
public int VerticalToothRange {
|
||||||
get;
|
get;
|
||||||
set;
|
set;
|
||||||
}
|
}
|
||||||
public Bitmap Apply(Bitmap sourceBitmap, out Point offsetChange) {
|
public override Bitmap Apply(Bitmap sourceBitmap, out Point offsetChange) {
|
||||||
using (Bitmap tmpTornImage = ImageHelper.CreateTornEdge(sourceBitmap)) {
|
using (Bitmap tmpTornImage = ImageHelper.CreateTornEdge(sourceBitmap, ToothHeight, HorizontalToothRange, VerticalToothRange)) {
|
||||||
return ImageHelper.CreateShadow(tmpTornImage, Darkness, ShadowSize, ShadowOffset, out offsetChange, PixelFormat.Format32bppArgb); //Image.PixelFormat);
|
return ImageHelper.CreateShadow(tmpTornImage, Darkness, ShadowSize, ShadowOffset, out offsetChange, PixelFormat.Format32bppArgb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -372,24 +372,24 @@ namespace GreenshotPlugin.Core {
|
||||||
/// Make the picture look like it's torn
|
/// Make the picture look like it's torn
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sourceBitmap">Bitmap to make torn edge off</param>
|
/// <param name="sourceBitmap">Bitmap to make torn edge off</param>
|
||||||
|
/// <param name="toothHeight">How large (height) is each tooth</param>
|
||||||
|
/// <param name="horizontalToothRange">How wide is a horizontal tooth</param>
|
||||||
|
/// <param name="verticalToothRange">How wide is a vertical tooth</param>
|
||||||
/// <returns>Changed bitmap</returns>
|
/// <returns>Changed bitmap</returns>
|
||||||
public static Bitmap CreateTornEdge(Bitmap sourceBitmap) {
|
public static Bitmap CreateTornEdge(Bitmap sourceBitmap, int toothHeight, int horizontalToothRange, int verticalToothRange) {
|
||||||
Bitmap returnImage = CreateEmpty(sourceBitmap.Width, sourceBitmap.Height, PixelFormat.Format32bppArgb, Color.Empty, sourceBitmap.HorizontalResolution, sourceBitmap.VerticalResolution);
|
Bitmap returnImage = CreateEmpty(sourceBitmap.Width, sourceBitmap.Height, PixelFormat.Format32bppArgb, Color.Empty, sourceBitmap.HorizontalResolution, sourceBitmap.VerticalResolution);
|
||||||
using (GraphicsPath path = new GraphicsPath()) {
|
using (GraphicsPath path = new GraphicsPath()) {
|
||||||
Random random = new Random();
|
Random random = new Random();
|
||||||
int regionWidth = 20;
|
int HorizontalRegions = (int)(sourceBitmap.Width / horizontalToothRange);
|
||||||
int regionHeight = 20;
|
int VerticalRegions = (int)(sourceBitmap.Height / verticalToothRange);
|
||||||
int HorizontalRegions = (int)(sourceBitmap.Width / regionWidth);
|
|
||||||
int VerticalRegions = (int)(sourceBitmap.Height / regionHeight);
|
|
||||||
int distance = 12;
|
|
||||||
|
|
||||||
// Start
|
// Start
|
||||||
Point previousEndingPoint = new Point(regionWidth, random.Next(1, distance));
|
Point previousEndingPoint = new Point(horizontalToothRange, random.Next(1, toothHeight));
|
||||||
Point newEndingPoint;
|
Point newEndingPoint;
|
||||||
// Top
|
// Top
|
||||||
for (int i = 0; i < HorizontalRegions; i++) {
|
for (int i = 0; i < HorizontalRegions; i++) {
|
||||||
int x = (int)previousEndingPoint.X + regionWidth;
|
int x = (int)previousEndingPoint.X + horizontalToothRange;
|
||||||
int y = random.Next(1, distance);
|
int y = random.Next(1, toothHeight);
|
||||||
newEndingPoint = new Point(x, y);
|
newEndingPoint = new Point(x, y);
|
||||||
path.AddLine(previousEndingPoint, newEndingPoint);
|
path.AddLine(previousEndingPoint, newEndingPoint);
|
||||||
previousEndingPoint = newEndingPoint;
|
previousEndingPoint = newEndingPoint;
|
||||||
|
@ -397,8 +397,8 @@ namespace GreenshotPlugin.Core {
|
||||||
|
|
||||||
// Right
|
// Right
|
||||||
for (int i = 0; i < VerticalRegions; i++) {
|
for (int i = 0; i < VerticalRegions; i++) {
|
||||||
int x = sourceBitmap.Width - random.Next(1, distance);
|
int x = sourceBitmap.Width - random.Next(1, toothHeight);
|
||||||
int y = (int)previousEndingPoint.Y + regionHeight;
|
int y = (int)previousEndingPoint.Y + verticalToothRange;
|
||||||
newEndingPoint = new Point(x, y);
|
newEndingPoint = new Point(x, y);
|
||||||
path.AddLine(previousEndingPoint, newEndingPoint);
|
path.AddLine(previousEndingPoint, newEndingPoint);
|
||||||
previousEndingPoint = newEndingPoint;
|
previousEndingPoint = newEndingPoint;
|
||||||
|
@ -406,8 +406,8 @@ namespace GreenshotPlugin.Core {
|
||||||
|
|
||||||
// Bottom
|
// Bottom
|
||||||
for (int i = 0; i < HorizontalRegions; i++) {
|
for (int i = 0; i < HorizontalRegions; i++) {
|
||||||
int x = (int)previousEndingPoint.X - regionWidth;
|
int x = (int)previousEndingPoint.X - horizontalToothRange;
|
||||||
int y = sourceBitmap.Height - random.Next(1, distance);
|
int y = sourceBitmap.Height - random.Next(1, toothHeight);
|
||||||
newEndingPoint = new Point(x, y);
|
newEndingPoint = new Point(x, y);
|
||||||
path.AddLine(previousEndingPoint, newEndingPoint);
|
path.AddLine(previousEndingPoint, newEndingPoint);
|
||||||
previousEndingPoint = newEndingPoint;
|
previousEndingPoint = newEndingPoint;
|
||||||
|
@ -415,8 +415,8 @@ namespace GreenshotPlugin.Core {
|
||||||
|
|
||||||
// Left
|
// Left
|
||||||
for (int i = 0; i < VerticalRegions; i++) {
|
for (int i = 0; i < VerticalRegions; i++) {
|
||||||
int x = random.Next(1, distance);
|
int x = random.Next(1, toothHeight);
|
||||||
int y = (int)previousEndingPoint.Y - regionHeight;
|
int y = (int)previousEndingPoint.Y - verticalToothRange;
|
||||||
newEndingPoint = new Point(x, y);
|
newEndingPoint = new Point(x, y);
|
||||||
path.AddLine(previousEndingPoint, newEndingPoint);
|
path.AddLine(previousEndingPoint, newEndingPoint);
|
||||||
previousEndingPoint = newEndingPoint;
|
previousEndingPoint = newEndingPoint;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue