scale(x1,y1)-(x2,y2)
創(chuàng)新互聯(lián)建站"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機(jī)版的企業(yè)網(wǎng)站。實(shí)現(xiàn)跨屏營(yíng)銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動(dòng)網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營(yíng)銷需求!創(chuàng)新互聯(lián)建站具備承接各種類型的成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)項(xiàng)目的能力。經(jīng)過(guò)十年的努力的開(kāi)拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評(píng)。
你只要記住,這里的x1,y1是左上角的坐標(biāo),x2,y2是右下角的坐標(biāo),通過(guò)這兩個(gè)點(diǎn)的坐標(biāo)設(shè)定,就可以決定坐標(biāo)原點(diǎn)的位置以及坐標(biāo)軸的方向了,比如
Scale (-300,200)-(300,-200)
以上是把坐標(biāo)原點(diǎn)設(shè)在窗體中心,x軸長(zhǎng)600,方向從左到右,y軸長(zhǎng)400,方向從下向上。
Scale (800,0)-(0,600)
以上是把坐標(biāo)原點(diǎn)設(shè)在窗體右上角,x軸長(zhǎng)800,方向從右到左,y軸長(zhǎng)600,方向從上向下。
下面說(shuō)坐標(biāo)軸和原點(diǎn)的標(biāo)示法:
假定自定義坐標(biāo)設(shè)為:
Scale (-300, 200)-(300, -200)
則
Line (-300, 0)-(300, 0) '畫(huà)x軸
Line (0, 200)-(0, -200) '畫(huà)y軸
CurrentX = 290
CurrentY = -5
Print "x" '標(biāo)示x軸
CurrentX = 5
CurrentY = 200
Print "y" '標(biāo)示y軸
CurrentX = 5
CurrentY = -5
Print "0" '標(biāo)示原點(diǎn)
創(chuàng)建Graphics對(duì)象,可以調(diào)用CreateGraphics()直接做圖也可以創(chuàng)建Bitmap對(duì)象然后調(diào)用Graphics.FromBitmap(b)得到Graphics G
G.Clear(Colors.Black)
G.DrawLine(Pens.White, 畫(huà)線的坐標(biāo)
[{"word":"VB.NET畫(huà)直線方法\n該方法繪制一條連接由坐標(biāo)對(duì)指定的兩個(gè)點(diǎn)的線條,所以我們需要指定這兩個(gè)點(diǎn)的坐標(biāo),如下所示、\nDrawL in e(pen,x1.y1,x2,y2)或者DrawL in e(pen,Po in t1,Poin t2)\n下面示例將在PictureBox控件表面繪制一條直線、\nDim g As\nGraphics=Me.PictureBox\n1.CreateGraphics\nDim mpen As New\nPen(Color.Red)g.DrawLin e(mpen,0,80,0,160)\n也可以使用如下代碼來(lái)實(shí)現(xiàn)一樣的甲\n__\n"}]
自己用GDI+畫(huà)的 無(wú)論什么什么尺寸的picturebox都行
不過(guò)別太小了o(∩_∩)o
代碼放在哪里自己決定啊
最好是放在 picturebox的resize時(shí)間里
每次picturebox大小改變都重畫(huà)一次坐標(biāo)
Dim b As New Bitmap(PictureBox1.Width, PictureBox1.Height)
Dim g As Graphics = Graphics.FromImage(b)
g.Clear(Color.White)
Dim p As New Pen(Color.Black)
p.EndCap = Drawing2D.LineCap.ArrowAnchor
g.DrawLine(p, 30, PictureBox1.Height - 30, 30, 30)
g.DrawLine(p, 30, PictureBox1.Height - 30, PictureBox1.Width - 30, PictureBox1.Height - 30)
Dim i As Integer
Dim bs As New SolidBrush(Color.Green)
Dim po As New Point
po.X = 0
po.Y = PictureBox1.Height - 35
For i = 700 To 1000 Step 50
g.DrawString(i, Me.Font, bs, po.X, po.Y)
g.DrawLine(p, po.X + 28, po.Y + 5, po.X + 30, po.Y + 5)
po.Y -= (PictureBox1.Height - 100) / 6
Next
po.X = 30
po.Y = PictureBox1.Height - 30
For i = 0 To 40 Step 5
g.DrawString(i, Me.Font, bs, po.X, po.Y + 5)
g.DrawLine(p, po.X, po.Y + 2, po.X, po.Y)
po.X += (PictureBox1.Width - 100) / 8
Next
PictureBox1.Image = b