Compare commits

...

2 commits

Author SHA1 Message Date
Persephone Bubblegum-Holiday
042a8a884d Merge branch 'main' of https://git.kawaiizenbo.me/kawaiizenbo/networkPaint 2025-02-11 14:24:14 -07:00
Persephone Bubblegum-Holiday
91c1faefdf add dragging 2025-02-11 14:23:05 -07:00
2 changed files with 39 additions and 22 deletions

View file

@ -48,7 +48,9 @@
this.paintArea.Size = new System.Drawing.Size(640, 480);
this.paintArea.TabIndex = 0;
this.paintArea.TabStop = false;
this.paintArea.Click += new System.EventHandler(this.paintArea_Click);
this.paintArea.MouseDown += new System.Windows.Forms.MouseEventHandler(this.paintArea_MouseDown);
this.paintArea.MouseMove += new System.Windows.Forms.MouseEventHandler(this.paintArea_MouseMove);
this.paintArea.MouseUp += new System.Windows.Forms.MouseEventHandler(this.paintArea_MouseUp);
//
// timer
//

View file

@ -8,30 +8,44 @@ namespace networkPaint
{
public partial class MainForm : Form
{
Color color;
Random r = new Random();
WebClient client = new WebClient();
Bitmap bitmap;
Bitmap bitmap = new Bitmap(640, 480);
Graphics graphics;
Color color;
string url = "http://kawaiizenbo.me/toys/networkpaint/";
bool dragging = false;
public MainForm()
{
InitializeComponent();
color = intToRGB(r.Next(0, 0xFFFFFF));
bitmap = new Bitmap(640, 480);
paintArea.Image = bitmap;
graphics = Graphics.FromImage(bitmap);
}
private void paintArea_Click(object sender, EventArgs e)
private void paintArea_MouseUp(object sender, MouseEventArgs e)
{
MouseEventArgs em = (MouseEventArgs)e;
NameValueCollection values = new NameValueCollection();
values["color"] = rgbToInt(color).ToString();
values["x"] = em.X.ToString();
values["y"] = em.Y.ToString();
values["size"] = brushSizeNumericUpDown.Value.ToString();
client.UploadValues(url + "post.php", values);
dragging = false;
}
private void paintArea_MouseDown(object sender, MouseEventArgs e)
{
dragging = true;
}
private void paintArea_MouseMove(object sender, MouseEventArgs e)
{
if (dragging)
{
NameValueCollection values = new NameValueCollection();
values["color"] = rgbToInt(color).ToString();
values["x"] = e.X.ToString();
values["y"] = e.Y.ToString();
values["size"] = brushSizeNumericUpDown.Value.ToString();
client.UploadValues(url + "post.php", values);
}
}
private void MainForm_Load(object sender, EventArgs e)
@ -44,6 +58,7 @@ namespace networkPaint
string responseString = client.DownloadString(url + "data.ppf");
client.Dispose();
if (responseString.Trim() == "") return;
graphics.Clear(Color.White);
foreach (string packet in responseString.Split(';'))
{
try
@ -63,16 +78,6 @@ namespace networkPaint
paintArea.Image = bitmap;
}
public static int rgbToInt(Color color)
{
return ((255 & 0x0ff) << 24) | ((color.R & 0x0ff) << 16) | ((color.G & 0x0ff) << 8) | (color.B & 0x0ff);
}
public static Color intToRGB(int color)
{
return Color.FromArgb(0xFF, (color & 0x00FF0000) >> 16, (color & 0x0000FF00) >> 8, color & 0x000000FF);
}
private void changeColorButton_Click(object sender, EventArgs e)
{
colorDialog.ShowDialog();
@ -98,5 +103,15 @@ namespace networkPaint
paintArea.Image = bitmap;
graphics = Graphics.FromImage(bitmap);
}
public static int rgbToInt(Color color)
{
return ((255 & 0x0ff) << 24) | ((color.R & 0x0ff) << 16) | ((color.G & 0x0ff) << 8) | (color.B & 0x0ff);
}
public static Color intToRGB(int color)
{
return Color.FromArgb(0xFF, (color & 0x00FF0000) >> 16, (color & 0x0000FF00) >> 8, color & 0x000000FF);
}
}
}