c creategraphics()到底怎麼用啊

2022-03-10 21:54:11 字數 2739 閱讀 5105

1樓:匿名使用者

雖然**沒有語法錯誤,但卻達不到你要的效果。g.rrawrectangle(……)應該放在form1的paint事件處理函式中!

public partial class form1 : form

private void form1_paint(object sender, painteventargs e)

}作圖方法必須在paint事件中處理。原因與form的重新整理有關:每當窗體被windows系統重新整理都會引發paint事件。

在paint事件中,你必須重新繪製你要的圖形,否則畫出的圖形在窗體被重新整理後就消失了;如果你把繪製圖形的方法放到別的地方(比如你放在form的load事件處理中),窗體被windows重新整理後,你畫出的矩形就被刷沒了。

另,上面的**可以簡化為:

public partial class form1 : form

private void form1_paint(object sender, painteventargs e)}

c#畫圖,graphics只有在使用creategraphics()方法時才能顯示,在上面作圖

2樓:雨月藍

private int pointnums = 0;

private point start, end;

private int choice = ellipse; //主要修改這個改變兩個點生成什麼

const int line = 100001;

const int circle = 100002;

const int ellipse = 100003;

pen p = new pen(color.black, 1);

bitmap b;

graphics g;

public form1()

private void picturebox1_mouseclick(object sender, mouseeventargs e)

//點選兩次 第二個點

else if (pointnums == 1)

else if (choice == circle) //畫圓

else if (choice == ellipse) //畫橢圓

pointnums = 0; //重置狀態

}picturebox1.image = b; //圖形覆蓋,生效

}//根據兩個點,計算形成的左上角座標,以及形成的大小

//iscircle:是否為畫圓,不傳,預設為 false

private rectangle getrectangle(point p1, point p2, bool iscircle = false)

//返回乙個矩形

return new rectangle(new point(x, y), new size(w, h));

}精簡了你的一些判斷,和狀態控制

如果需要的話,在這基礎上修改吧

3樓:金蘋果

graphics.drawstring可以畫圖

4樓:s不知是錯

同學,你哪個學校的?gis嗎?是周蕙教嗎?

c# 如何利用graphics直接繪製乙個圖形

5樓:匿名使用者

bitmap = new bitmap(thisform.width, thisform.height);

g = graphics.fromimage(bitmap);

painteventargs gargs = new painteventargs(this.creategraphics(), this.clientrectangle);

graphics ga = gargs.graphics;

if (bitmap != null)

c#用graphics畫完的圖如何擦去?

6樓:陽光的雷咩咩

辦法貌似很多,比如重繪所有其他元素,或者多個透明控制項疊加,或者暫存每個畫面的截圖以供撤銷。第一種操作起來最簡單,比如上面畫線,顏色、兩個座標是引數,作為乙個整體存入某list,每次全部重繪每個形狀,需要移除哪個就在list裡面移除它,然後重繪。

7樓:匿名使用者

最好是用層的方法每操作一次就建立乙個視窗充當圖形層。參看各種繪圖軟體都是這樣做的。有了這樣的準備你就可以選取不同的物件進行移除。

這樣做靈活機動。如果要生成的話只要按每個層所在的層次從最下面的圖層取出引數進行繪製組合成乙個完整的圖成。這就是繪圖軟體中所說的組合操作,

8樓:鐵書包

不能擦出,可以覆蓋!

9樓:匿名使用者

this.refresh();

c#中用graphics畫圖怎麼不顯示啊!急!!!!!!

10樓:匿名使用者

你是用窗體的load事件畫圖吧?試試下面的**:

private void form1_paint(object sender, painteventargs e)

窗體重繪時,引發paint事件,應該在paint事件中畫圖,窗體改動和重啟仍然有圖形。如果放在load事件中,繪圖後隨著窗體啟動消失了。

11樓:匿名使用者

你有讓程式顯示這個graphic麼

set方法到底怎麼用

public int setage public void setage int age 因為為了封裝,一般的屬性都設定成為private 私有的 所以你無法用 屬性 的方式來得到屬性值,因此此時用兩個public的方法來對屬性進行操作 getxx就是得到該屬性,該方法是public 的,返回的是x...

ubuntu下到底怎麼用c程式設計,ubuntu下到底怎麼用c 程式設計

作為新手,第一次在ubuntu系統下,使用c 程式設計時,你是不是很迷茫,無從下手啊?你會糾結已經寫好的hello.cpp檔案要怎樣編譯?開啟那個命令列是怎麼回事?是不是 終端 一系列的疑問會冒出來。那麼,今天簡單的總結了一下。希望能給那些初次接觸ubuntu下c 程式設計的童鞋們一些幫助。1.首先...

住房公積金怎麼用,到底住房公積金怎麼用啊?我很迷茫

小島知道 住房公積金如何使用? 律圖網 符合提取條件的,提取程式為 一 職工申請。攜帶提取相關證明材料及本人身份證,到公積金中心諮詢臺或單位領取 xx市住房公積金提取申請表 二 單位核實。三 公積金中心審批。四 受委託銀行辦理支付手續。 大鬍子說房小助理 住房公積金6種用法 購房 自建 翻修 大修房...