vb 2019上怎麼用 picturebox 畫圓?(不要百

2022-01-02 09:27:31 字數 3760 閱讀 9482

1樓:匿名使用者

你的**是vb6.0的格式,在vb2013的net模式下是無法通過除錯的

vb2013中要用gdi+的方法,比如

public class form1

dim wid as integer

dim hgt as integer

dim bm as bitmap

dim g as graphics

'下面是畫座標軸

private function draw_coordinate() as boolean '畫座標軸

g.drawline(pens.red, -250, 0, 250, 0)

g.drawline(pens.green, 0, -250, 0, 250)

'畫y軸刻度

for i = -250 to 250 step 2

g.drawline(pens.green, -1, i, 1, i)

next

for i = -250 to 250 step 2

g.drawline(pens.red, i, -1, i, 1)

next

picturebox1.image = bm

picturebox1.refresh()

return true

end function

'下面是畫點(也是實心圓)

private function drawcircle(byval cp as point, byval radius as integer, byval color as brush) as boolean '畫實心圓

dim rect as rectangle = new rectangle(cp.x - radius, cp.y - radius, 2 * radius, 2 * radius)

g.drawellipse(pens.red, rect)

g.fillellipse(color, rect)

picturebox1.image = bm

picturebox1.refresh()

return true

end function

public sub drawemptycircle(byval mypen as pen, byval zeropoint as point, byval r as single) '畫空心圓

'畫圓'zeropoint:圓心,所在座標系的原點為窗體左上角,向下向右為y、x軸正方向。

'r:半徑

g.drawellipse(mypen, zeropoint.x - r, zeropoint.y - r, 2 * r, 2 * r)

picturebox1.image = bm

picturebox1.refresh()

end sub

private sub form1_load(byval sender as system.object, byval e as system.eventargs) handles mybase.

load

wid = picturebox1.clientsize.width

hgt = picturebox1.clientsize.height

bm = new bitmap(wid, hgt)

g = graphics.fromimage(bm)

g.translatetransform(250, 250) '座標平移

g.scaletransform(1, -1)       'x軸不變,反轉y軸

end sub

private sub button1_click_1(byval sender as system.object, byval e as system.eventargs) handles button1.

click '演示畫軸,畫圓

draw_coordinate()

'  drawcircle(new point(0, 0), 100, new system.drawing.solidbrush(color.red))'畫實心圓

drawemptycircle(new pen(color.red), new point(0, 0), 100) '畫空心圓---圓心(0,0),半價100

end sub

end class

2樓:匿名使用者

看來是從vb6.0轉到vb2013啊

vb6.0和vb.net(當然包括vb2013)在畫圖方面完全不一樣了,看一下vb2013或者vb.net關於繪圖方面的資料吧

vb 如何在picture控制元件中繪製圓形

3樓:匿名使用者

畫圓circle 方法可畫出圓形和橢圓形的各種形狀。另外,circle 方法還可以畫出圓弧(圓的一部分)和楔形餅塊。使用變化的 circle 方法,可畫出多種曲線。

為了畫圓,visual basic 需要給出該圓的圓心位置和它的半徑。畫一個理想圓的語法是:

[object.]circle [step](x, y), radius[, color]

方括號表明 object 和 step 關鍵字是任選項。如果不指定 object,則認為指定的就是當前的窗體。x 引數和 y 引數是圓心的座標,radius 引數是圓的半徑。

例如,下面語句將畫出一個以 (1200,1000) 為圓心、750 為半徑的圓:

circle (1200, 1000), 750

這個語句產生的精確作用,還要依賴於窗體的大小和窗體的座標系。如果不知道窗體的大小,也就不能知道這個圓是否可見。可使用繪圖區的標尺屬性,將該圓的圓心置於窗體的中心處:

circle ((scalewidth + scaleleft) / 2, (scaleheight + _

scaletop) / 2), scalewidth / 4

此時,關於 scalewidth 和 scaleheight 所有應知道的是,它們能幫助將圖形定位於窗體的中心。

4樓:在世貿天階灌籃的高飛燕草

private sub picture1_click()picture1.circle (200, 100), 100, vbred

end sub

單擊picture1 就可以

vb,在picture控制元件中先匯入了一個**,然後用**畫圓,圓總在**後,看不到圓。如何辦?

5樓:流雲行水

貼**關鍵是picture的autoredraw屬性要設為true!!!

6樓:匿名使用者

鬼知道你怎麼畫的。我這樣畫沒問題:

private sub command1_click()picture1.circle (1000, 1000), 500end sub

7樓:匿名使用者

請出示**。

這樣方便分析。

用vb中的picturebox控制元件中已經有一張**,現在想在該控中畫個圓,並顯示出來,**和所畫圓都能顯示.

8樓:醬爆小鯉魚

不知道是不是你說的那種效果~

private sub form_load()picture1.autoredraw = truepicture1.autosize = truepicture1.

scale (-100, 100)-(100, -100)

picture1.circle (0, 0), 80end sub

VB2019中什麼時候用byval

byval就是傳值呼叫,就是把變數的值作為引數傳送到子過程中,子過程內部對這個引數進行任何修改都不會影響到原變數的值。而把byval去掉或者改為byref則是傳址呼叫,就是把變數的記憶體地址作為引數傳送到子過程中,那麼子過程內部對這個記憶體地址進行賦值就相當於直接給原來那個變數賦值,這樣原變數的值就...

VB2019與VB6 0的異同,VB2005與VB6 0的異同?

現在有vs2008的beta版本 不同!差別很大。換句話可以說是兩種不同的語言了到了.net了以後把以前vb6的很多地方改得都不成樣子了。已經沒有vb的味道了,為了適應vc語言的框架vb.net已經變成了半c半vb的怪語言了。讓我從qb用過來的人很傷心。很多vb最經典的東西都沒了。如 vb函式的返回...

請問vb2019的註冊密匙怎麼找

1.visual studio 2008 professional edition xmq2y 4t3v6 xj48y d3k2v 6c4wt 2.visual studio 2008 team test load agent wpx3j bxc3w bpywp pj8cm f7m8t 3.visu...