- 爱易网页
-
C#教程
- 想在pictureBox里做这样的效果,画一个背景图,然后在上面画点线,可以擦除点线,但下面的背景图不变,该如何做
日期:2014-05-17 浏览次数:20827 次
想在pictureBox里做这样的效果,画一个背景图,然后在上面画点线,可以擦除点线,但下面的背景图不变,该怎么做?
想在pictureBox里做这样的效果,画一个背景图,然后在上面画点线,可以擦除点线,但下面的背景图不变,该怎么做?
需要用两个picturebox吗,还是一个就可以了。
用两个picturebox,我设置上一层的picturebox的backcolor为透明,好像透明不了,需要怎么做?
------解决方案--------------------
用 异或划线 DrawReversibleLine
------解决方案--------------------
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;
using System.Drawing.Drawing2D;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
float X1;
float Y1;
private void button1_Click(object sender, EventArgs e)
{
this.pictureBox1.Load(Application.StartupPath + "\\QQ图片20131023104740.jpg");
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
string dd;
dd = e.Button.ToString();
this.label1.Text = dd;
Graphics g=pictureBox1.CreateGraphics();
if (e.Button.ToString() == "Left")
{
g.DrawLine(new Pen(Color.DarkGray, 3),X1,Y1,e.X,e.Y );
X1 = e.X;
Y1 = e.Y;
}