Cześć!
Piszę sobie aplikacje w Windows Forms C# działającą jak prosty paint.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Odyn_Draw
{
public partial class MainForm : Form
{
Graphics g;
Pen p,b;
int rozmiar;
public MainForm()
{
InitializeComponent();
g = panel1.CreateGraphics(); // tworzenie grafiki w panelu1
p = new Pen(Color.Black, rozmiar); // tworzenie dlugopisa o kolorzeczarnym i grubosci 1
b = new Pen(Color.Black,20);
}
int x = 0, y = 0; // polozenie poczatkowe
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left) // jezeli klikniemy button left
g.DrawLine(p, x, y, e.X, e.Y); //to rysuj
x = e.X;
y = e.Y;
}
private void clearToolStripMenuItem_Click(object sender, EventArgs e)
{
g.Clear(Color.White);
}
private void button1_Click(object sender, EventArgs e)
{
p.Color = Color.White;
}
private void button2_Click(object sender, EventArgs e)
{
p.Color = Color.Black;
}
private void button3_Click(object sender, EventArgs e)
{
p.Color = Color.Brown;
}
private void button6_Click(object sender, EventArgs e)
{
p.Color = Color.Red;
}
private void button5_Click(object sender, EventArgs e)
{
p.Color = Color.Orange;
}
private void button4_Click(object sender, EventArgs e)
{
p.Color = Color.Yellow;
}
private void button9_Click(object sender, EventArgs e)
{
p.Color = Color.LightGreen;
}
private void button8_Click(object sender, EventArgs e)
{
p.Color = Color.LightSkyBlue;
}
private void button7_Click(object sender, EventArgs e)
{
p.Color = Color.Blue;
}
private void button12_Click(object sender, EventArgs e)
{
p.Color = Color.Green;
}
private void button11_Click(object sender, EventArgs e)
{
p.Color = Color.Pink;
}
private void button10_Click(object sender, EventArgs e)
{
p.Color = Color.Purple;
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void fillToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void gToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void penToolStripMenuItem_Click(object sender, EventArgs e)
{
if (true)
{
b.Color = Color.Black;
}
}
private void normalLineToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
// Displays a SaveFileDialog so the user can save the Image
// assigned to Button2.
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif";
saveFileDialog1.Title = "Save an Image File";
saveFileDialog1.ShowDialog();
// If the file name is not an empty string open it for saving.
if (saveFileDialog1.FileName != "")
{
// Saves the Image via a FileStream created by the OpenFile method.
System.IO.FileStream fs =
(System.IO.FileStream)saveFileDialog1.OpenFile();
// Saves the Image in the appropriate ImageFormat based upon the
// File type selected in the dialog box.
// NOTE that the FilterIndex property is one-based.
switch (saveFileDialog1.FilterIndex)
{
case 1:
this.button2.Image.Save(fs,
System.Drawing.Imaging.ImageFormat.Jpeg);
break;
case 2:
this.button2.Image.Save(fs,
System.Drawing.Imaging.ImageFormat.Bmp);
break;
case 3:
this.button2.Image.Save(fs,
System.Drawing.Imaging.ImageFormat.Gif);
break;
}
fs.Close();
}
}
private void toolStripTextBox1_Click(object sender, EventArgs e)
{
toolStripTextBox1.Text = rozmiar.ToString();
p = new Pen(Color.Black, this.rozmiar);
}
}
}
Mam do was kilka pytan:
1.Chciałbym zrobić aby po wpisaniu wartośći do textboxa pod BrushSize zmienic grubość Pena na podana
-
Jak po kliknieciu w przycisk Fill wypelnic caly obszar panelu1? (bo rysuje po panelu1)
-
Jak po kliknieciu w przycisk Pedzel zmienic z Olwoka na inny pedzel o podanej wielkosc?
Pozdrawiam i z góry dziękuje za pomoc:)