vb.net文本绘图,vb绘图控件

如何使用vb.net调用cad进行绘图

你去查查书吧,书上挺详细的,在这说不好说,你先在项目里引用。然后 Dim acadapp As AcadApplication Dim acaddoc As AcadDocument On Error Resume Next AcadApp = GetObject(, "AutoCAD.Application") If Err.Number Then Err.Clear() AcadApp = CreateObject("AutoCAD.Application") If Err.Number Then MsgBox("不能运行AutoCAD,请检查是否安装了AutoCAD") Exit Sub End If End If AcadApp.Visible = True '界面可视

创新互联主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、响应式网站建设、程序开发、网站优化、微网站、微信小程序开发等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的成都网站制作、网站建设、网站设计、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体。

vb.net绘图问题

代码:

Public Class Form1

'*********************************************************************   

'作者:章鱼哥,QQ:3107073263 群:309816713       

'如有疑问或好的建议请联系我,大家一起进步     

'*********************************************************************     

'绘制圆角矩形函数

Private Function GetRoundedRectPath(ByVal rect As Rectangle, ByVal radius As Integer) As System.Drawing.Drawing2D.GraphicsPath

rect.Offset(-1, -1)

Dim RoundRect As New Rectangle(rect.Location, New Size(radius - 1, radius - 1))

Dim path As New System.Drawing.Drawing2D.GraphicsPath

path.AddArc(RoundRect, 180, 90)     '左上角

RoundRect.X = rect.Right - radius   '右上角

path.AddArc(RoundRect, 270, 90)

RoundRect.Y = rect.Bottom - radius  '右下角

path.AddArc(RoundRect, 0, 90)

RoundRect.X = rect.Left             '左下角

path.AddArc(RoundRect, 90, 90)

path.CloseFigure()

Return path

End Function

'绘制矩形

Private Sub DrawingRect()

Dim g As Graphics = Me.CreateGraphics

Dim Pen As New Pen(Brushes.DarkRed, 2)

Dim Hei As Integer = Me.Height

Dim Wid As Integer = Me.Width

'矩形的位置和长宽随着窗体的变化而改变

Dim Rec As New Rectangle(Int(Wid / 5), Int(Hei / 5), Int(Wid / 2), Int(Hei / 2))

'  g.DrawRectangle(Pen, Rec)

'清楚现有的矩形

g.Clear(Me.BackColor)

g.DrawPath(Pen, GetRoundedRectPath(Rec, 30))

End Sub

Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint

DrawingRect()

End Sub

Private Sub Form1_SizeChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.SizeChanged

Me.Invalidate() '此函数可引发Paint事件

End Sub

End Class

效果截图:

原窗口:

缩小后:

VB.net中如何画图?

VB.net与VB不同。

VB.net已经有专门绘图的类。

可以定义笔刷然后用Drawing类中的方法绘制。

Private Sub DrawEllipse()

Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)

Dim formGraphics as System.Drawing.Graphics

formGraphics = Me.CreateGraphics()

formGraphics.DrawEllipse(myPen, New Rectangle(0,0,200,300))

myPen.Dispose()

formGraphics.Dispose()

End Sub

Private Sub DrawRectangle()

Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)

Dim formGraphics as System.Drawing.Graphics

formGraphics = Me.CreateGraphics()

formGraphics.DrawRectangle(myPen, New Rectangle(0,0,200,300))

myPen.Dispose()

formGraphics.Dispose()

End Sub

vb.net 绘图,重绘知识

继承(Inherits)控件就可以重写它的属性和方法,图标可以在paint中重绘,用gdi,工具主要在drawing和drawing2d中。

combobox弹出的框增加图标吗?个人看法可能需要得到那个句柄,才可以重绘,但那个好像是一体的,不知道能不能弄到句柄。

textbox可以自定义高度。只是以行高度为单位,改变字体大小即可,没必要重写吧。

我也自学,感觉基础容易学,进阶资料少。循序渐进也没序可循,基本是在摸索。

都是想到什么问题,就立下一个目标,然后攻破他,结果可能是尝试几天后,发现目标超出能力范围。

晦涩是相对的,实践出真知,多动手,基础就好了。

VB.Net如何实现抠图并绘图

项目中要用图形来显示一个阀门的开度,以及控制阀的开度。本来是要用什么公司买的控件中的饼图之类的实现,不过我觉得也是麻烦,就想,还是自己画吧。

首先添加一个TrackBar,名字是“TrackBar1”,一个label,名字是“L_A_SHANG”,一个GroupBox,名字是“GB_RIGHT”,,然后添加拉动滚动条时的处理函数

'上位机控制

Dim m_start As Integer

Dim RcDraw As System.Drawing.Rectangle

Private Sub TrackBar1_Scroll(ByVal sender As Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll

m_start = (100 - TrackBar1.Value)

Me.L_A_SHANG.Text = Me.TrackBar1.Value.ToString

GB_RIGHT.Invalidate() '重画GB_RIGHT

End Sub

添加GB_RIGHT重画时的处理函数

Private Sub GB_RIGHT_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles GB_RIGHT.Paint

RcDraw.X = TrackBar1.Location.X - 40

RcDraw.Y = 20

RcDraw.Height = 100

RcDraw.Width = 20

e.Graphics.DrawRectangle(New Pen(Color.Blue, 5), RcDraw)

Dim i = TrackBar1.Location.X - 40

For i = TrackBar1.Location.X - 40 To TrackBar1.Location.X - 20

e.Graphics.DrawLine(New Pen(Color.Blue, 5), i, m_start + 20, i, 120)

Next

Me.L_A_SHANG.Text = Me.TrackBar1.Value.ToString + "%"

End Sub

到此以及可以实现拉动条的时候,图像跟着变化,并显示百分比。

vb.net读取txt的数据作图问题

一、分析:

1,这一类随时间而变化的曲线图,通常把横轴作为时间,把纵轴作为相应的值,在这里就是密度值。

2,点的集合就是线;一组时间、密度值,对应一个点,把点连接起来就构成了线。

二、在VB.NET中作图,需要知道并解决几个问题:

1,与VB6一样,VB.NET中默认的坐标系统,左上角为坐标原点,X轴的正向为从左向右,Y轴的正向是从上向下。

为了使得它与数学中的坐标系统相一致,可以使用VB.NET中Graphics类的两个方法;

1、TranslateTransform----平移变换

格式:Graphics.TranslateTransform(dx,dy)

其中:dx 和 dy分别是Single数据类型

2、ScaleTransform----缩放变换

格式:Graphics.ScaleTransform(sx,sy)

其中:sx 和 sy分别是Single数据类型;

例如:为了符合数学中的一般格式,可以使用下述代码:

Graphics.ScaleTransform(1, -1)

这样就把Y轴的正方向给翻过来了。

三、VB.NET中绘制图形

1,绘制圆或椭圆

'绘制图形的三步曲

'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)

'绘制一个实心圆,该圆在:直线x=200,y=200,x=200+100,y=200+100所划的矩形区域内

MyGraphics.FillEllipse(Brush, 200, 200, 100, 100)

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

MyGraphics.DrawEllipse(Pen, 200, 200, 100, 100)

注意:最后两个数值如果不等,就是绘制椭圆

当圆足够小,就是点了。

2,绘制直线

'1,获得一个Graphics对象

Dim MyGraphics As Graphics

MyGraphics = Me.CreateGraphics

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

Dim MyPen As New Pen(Color.Black)

MyGraphics.DrawLine(MyPen, 200, 200, 100, 100)

'或者直接用

Me.CreateGraphics.DrawLine(New Pen(Color.Black), 50, 50, 200, 200)


分享标题:vb.net文本绘图,vb绘图控件
文章出自:http://scyanting.com/article/phspid.html