vb点虐 画布 vbnet画图插件

vb点虐 画线再画保留以前画得

可以把所有画的线都保存在一个列表中,画的时候全部画出即可。如下:

10年积累的成都网站制作、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有卡若免费网站建设让你可以放心的选择与我们合作。

Public Class Form1

Class Line      '直线类

  Public Point1, Point2 As Point     '成员,直线的两个端点

  Sub New(p1 As Point, p2 As Point)   '构造方法

      Point1 = p1

      Point2 = p2

  End Sub

  Public Sub Draw(g As Graphics)      '绘制方法

      g.DrawLine(Pens.Black, Point1, Point2)

  End Sub

End Class

Private Lines As New List(Of Line)      '列表用于保存所有画下的直线

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

  BackColor = Color.White

  DoubleBuffered = True   物尘    '开启双缓冲可有效避免闪烁

End Sub

Private Sub Form1_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown

  Lines.Add(New Line(e.Location, e.Location))     '在直线列表中添加直线

End Sub

Private Sub Form1_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove

  If e.Button  Windows.Forms.MouseButtons.Left Then Return '左键未按下

  '鼠标拖动时改变列表最后一条直线(也即当前直线的第二个端点)

  Lines(Lines.Count - 1).Point2 = e.Location

  Refresh()       '刷新罩盯禅窗体

End Sub

'在Form的Paint事件中绘制所有直线,每次则枣Form1重绘时都会触发Paint事件

'PS: 也可以通过重写OnPaint方法来达到类似的效果

Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint

  e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias    '开启抗锯齿

  For Each l In Lines     '遍历所有直线

      l.Draw(e.Graphics)  '调用绘制方法,传入的参数可以理解为画布

  Next

End Sub

End Class

运行效果:

vb点虐 2010中如何在窗口中建立画布

'绘制图形的陆早漏三步曲

'1,获得一个Graphics对象

Dim MyGraphics As Graphics

MyGraphics = Me.CreateGraphics

'2,定义一个Pen对象,用于绘制图形(轮廓线)

Dim MyPen As New Pen(Color.Black)

'3,定义一个Brush对象,用于填充图形(如果需要填充的话)

Dim MyBrush As New SolidBrush(Color.Orange)

MyGraphics.FillEllipse(MyBrush, 200, 200, 100, 100) '绘制一个实心圆,该圆在:直线x=200,y=200,睁源x=200+100,y=200+100所划的矩形区域早烂内

MyGraphics.DrawEllipse(MyPen, 200, 200, 100, 100) '绘制一个空心圆,该圆在:直线x=200,y=200,x=200+100,y=200+100所划的矩形区域内

在vb点虐 中,paintcanvas里面填满了颜色,我想通过点击一个按钮来完成清除整个画布内容的效果,

要用GreateGrahpics函数,比如要老手向 Panel1,填充颜色:

Dim g As Graphic=Panel1.CreateGraphics

Dim b as New Brush(Color.Blue)

g.FillRectangle(b,Panel1)

写的比较粗,意思就是这样的,侍棚嫌和碰你可以边看帮助边细细完成

Vb点虐 怎么实现图像的处理

这问题有点笼统,软旁迹胡糖来说说把:

图像处理由System.Drawing命名空间负责。

主要是Bitmap类和Graphics类。

Bitmap表示一个位图,可以是BMP,JPG,PNG等文件。

装载位图

Dim 位图 As Bitmap = Bitmap.FromFile("C:\Image1.PNG")

Graphics表示一州悔张画纸,能够进行绘制操作。

它可以被窗体、控件、位图调用CreateGraphics()方法来创建。

然后调用Graphics.Draw开头的一系列函数来绘制图像和图形,Fill开头的填充图形。

创建画纸并绘制位图

Dim 画纸 As Graphics = Me.CreateGraphics()

画纸.DrawImage(位图, 100, 100, 256, 256)

可以将上面三行放到Form1_Load中测试运拦,把路径改一下,

还可以把Me改为能在上面绘图的控件的名称。

更多内容请看MSDN的System.Drawing命名空间。

如满意,请采纳,谢谢。


文章标题:vb点虐 画布 vbnet画图插件
URL地址:http://hbruida.cn/article/ddpohhg.html