Added a eyedropper tool but its buggy af and I dont know why

This commit is contained in:
2022-06-08 16:20:55 +02:00
parent d1d1b4936e
commit f5f6056db1
2 changed files with 55 additions and 10 deletions

View File

@@ -55,6 +55,7 @@
this.btnColorHistory1 = new System.Windows.Forms.Button();
this.btnClear = new System.Windows.Forms.Button();
this.panelTools = new System.Windows.Forms.Panel();
this.btnEyeDrop = new System.Windows.Forms.Button();
this.pbxSample = new System.Windows.Forms.PictureBox();
this.btnRandomColor = new System.Windows.Forms.Button();
this.btnColorPicker = new System.Windows.Forms.Button();
@@ -395,9 +396,9 @@
this.panelTools.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.panelTools.BackColor = System.Drawing.Color.Transparent;
this.panelTools.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panelTools.Controls.Add(this.btnEyeDrop);
this.panelTools.Controls.Add(this.pbxSample);
this.panelTools.Controls.Add(this.btnRandomColor);
this.panelTools.Controls.Add(this.btnColorPicker);
this.panelTools.Controls.Add(this.btnColorHistory1);
this.panelTools.Controls.Add(this.label4);
this.panelTools.Controls.Add(this.btnColorHistory2);
@@ -409,6 +410,20 @@
this.panelTools.Size = new System.Drawing.Size(200, 193);
this.panelTools.TabIndex = 31;
//
// btnEyeDrop
//
this.btnEyeDrop.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(59)))), ((int)(((byte)(59)))), ((int)(((byte)(59)))));
this.btnEyeDrop.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.btnEyeDrop.Font = new System.Drawing.Font("Cascadia Code", 10.2F);
this.btnEyeDrop.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(247)))), ((int)(((byte)(247)))), ((int)(((byte)(247)))));
this.btnEyeDrop.Location = new System.Drawing.Point(11, 74);
this.btnEyeDrop.Name = "btnEyeDrop";
this.btnEyeDrop.Size = new System.Drawing.Size(178, 33);
this.btnEyeDrop.TabIndex = 36;
this.btnEyeDrop.Text = "EyeDropper";
this.btnEyeDrop.UseVisualStyleBackColor = false;
this.btnEyeDrop.Click += new System.EventHandler(this.btnEyeDrop_Click);
//
// pbxSample
//
this.pbxSample.Location = new System.Drawing.Point(10, 152);
@@ -437,7 +452,7 @@
this.btnColorPicker.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.btnColorPicker.Font = new System.Drawing.Font("Cascadia Code", 10.2F);
this.btnColorPicker.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(247)))), ((int)(((byte)(247)))), ((int)(((byte)(247)))));
this.btnColorPicker.Location = new System.Drawing.Point(10, 72);
this.btnColorPicker.Location = new System.Drawing.Point(733, 12);
this.btnColorPicker.Name = "btnColorPicker";
this.btnColorPicker.Size = new System.Drawing.Size(177, 35);
this.btnColorPicker.TabIndex = 33;
@@ -605,6 +620,7 @@
this.ClientSize = new System.Drawing.Size(1132, 655);
this.Controls.Add(this.panel3);
this.Controls.Add(this.panel2);
this.Controls.Add(this.btnColorPicker);
this.Controls.Add(this.panel1);
this.Controls.Add(this.panelHoverColor);
this.Controls.Add(this.panelSelectedColor);
@@ -685,6 +701,7 @@
private System.Windows.Forms.Button button1;
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.Button btnLoadFile;
private System.Windows.Forms.Button btnEyeDrop;
}
}

View File

@@ -29,6 +29,7 @@ namespace Paint_2
List<PaintTool> toolList;
bool drawing = false;
bool randomColor = false;
bool eyeDropping = false;
Random rnd;
Color hoveringColor;
public PaintForm()
@@ -50,6 +51,19 @@ namespace Paint_2
return canvas.PointToClient(MousePosition);
}
private void canvas_MouseDown(object sender, MouseEventArgs e)
{
if (eyeDropping)
{
Color pointedColor = GetHoverColor();
if (sketch.CurrentTool.Color != pointedColor)
{
sketch.ChangePaintToolColor(pointedColor);
eyeDropping = false;
RefreshUi();
//sketch.CurrentTool.Color = pointedColor;
}
}
else
{
drawing = true;
if (randomColor)
@@ -61,6 +75,7 @@ namespace Paint_2
sketch.StartDrawing(MousePositionToCanvasPosition(), sketch.CurrentTool.Color, (int)nupPencilWidth.Value);
}
}
}
private void canvas_MouseUp(object sender, MouseEventArgs e)
{
sketch.AddDrawingPoint(MousePositionToCanvasPosition());
@@ -127,6 +142,14 @@ namespace Paint_2
{
btnRandomColor.BackColor = FLAT_RED;
}
if (eyeDropping)
{
btnEyeDrop.BackColor = FLAT_GREEN;
}
else
{
btnEyeDrop.BackColor = FLAT_RED;
}
}
private Bitmap DrawSample(Size size)
{
@@ -245,5 +268,10 @@ namespace Paint_2
{
}
private void btnEyeDrop_Click(object sender, EventArgs e)
{
eyeDropping = !eyeDropping;
}
}
}