Chào các bác! Em mới tập tành học C# nên có một số vấn đề về đồ họa cần hỏi các bác, mong các bác giúp đỡ [IMG]images/smilies/1.gif[/IMG]
Đây là đoạn code load ảnh từ máy tính:
Mã:
OpenFileDialog o = new OpenFileDialog();
o.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.bmp)|*.jpg; *.jpeg; *.gif; *.bmp";
if (o.ShowDialog() == DialogResult.OK)
{
Bitmap bit = new Bitmap(op.FileName);
pictureBox1.Image = bit;
}
Đây là phần MouseDown:
Mã:
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
x1 = e.X;
y1 = e.Y;
isBegin = true;
}
Đây là phần MouseMove:
Mã:
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
x2 = e.X;
y2 = e.Y;
if (isBegin)
this.pictureBox1.Refresh();
}
Đây là phần MouseUp:
Mã:
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
this.g.DrawLine(pen, x1, y1, x2, y2); // g là đối tượng thuộc lớp Graphics
RefreshPicBox();
isBegin = false;
}
Hàm RefreshPicBox():
Mã:
private void RefreshPicBox()
{
bit = Drawbit.Clone(new Rectangle(0, 0, this.pictureBox1.Width, this.pictureBox1.Height),Drawbit.PixelFormat);// bit và Drawbit thuộc lớp Bitmap
this.pictureBox1.Image = bit;
}
Sự kiện Paint của PictureBox:
Mã:
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
g.DrawLine(pen, x1, y1, x2, y2);
}
Vấn đề nó thế này: Khi em load hình lên và vẽ đường thẳng đè lên hình thì hình bị mất, chỉ tồn tại đường thẳng trên pictureBox [IMG]images/smilies/21.gif[/IMG]. Nếu trong phần MouseUp em bỏ hàm //RefreshPicBox() thì sẽ vẽ đè lên được nhưng khi vẽ nét thứ 2 thì nó mất nét vẽ thứ nhất [IMG]images/smilies/17.gif[/IMG]. Tương tự vẽ nét 3 thì mất nét 2... Các bác xem giúp em nên sửa hay là cần phải thêm, bớt chỗ nào.
Thanks các bác nhiều.. Chụt..[IMG]images/smilies/kiss.gif[/IMG].. Chụt..[IMG]images/smilies/kiss.gif[/IMG]
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...