1:在圖像編程方面一般VC用的比較多,主要是考慮到了速度方面,但.Net在這方面似乎也毫不遜色,盡管受CLR(公共語言運行時)的影響,但以現在的硬件配置來看似乎也覺不出有什麼差異來;
2:圖像編程只能在windows窗體中實現,在網站中不能實現,Windows程序時直接運行在操作系統上的,如果要以Html的形式讓
浏覽器解析實現這樣的效果,似乎有點難(不同於Javacript腳本),下面就讓我們來看看是怎麼以編程的方式來實現圖像的變換的;
首先拖一個timer控件,右擊它的屬性我們會看到有個叫做“interval”的屬性,默認值是100它表示該控件事件每隔0.1秒
就會自動觸發執行一次;然後雙擊tric事件,在事件裡編寫程序:
還有一點值得說的是timer控件的Enable值默認情況下是false,也就是說在不改變該值的情況下它是不會執行的,那麼我們在form頁面加載的時候將它設置為true;以觸發tick事件的執行;
定義兩個Graphic 對象 g1,g2,用它來實現調用.Net類庫的繪圖函數;
看源碼:
public partial class Form_Hhrong : Form
......{
public Form_Hhrong()
......{
InitializeComponent();
this.timer1.Enabled = true;
}
Graphics gline;
Graphics gbizer;
int i = 0;
byte r = 70;/**//**//**////定義三原色的值
byte g = 60;/**//**//**////通過後面方法中對三個值的改寫
byte b = 30;/**//**//**////實現顏色的漸變
///畫直線條:
public void showline()
......{
gline = this.CreateGraphics();/**//**//**////this指代的是當前窗體
Color cl = Color.FromArgb(r,g,b);/**//**//**////顏色的混合色值
Pen pn = new Pen(cl);
gline.DrawLine(pn,0,i,this.Width ,i);/**//**//**////在行方向上確定一條直線
///一名實現從上到下的變動
///以及顏色的漸變:
}
/**//**//**//// <summary>
/// 畫貝塞爾曲線:
/// </summary>
int x ;
int y;/**//**//**////定義點的變動幅度:
public void showbizer()
......{
gbizer = this.CreateGraphics();
Color clr = Color.FromArgb(r, g, b);
Pen pn = new Pen(clr);
Point[] pp =......{ new Point(5+x,6+y),new Point (20+x,30+y),new Point (42+x,58+y),new Point (79+x,59+y) };
gbizer.DrawBezIEr(pn, pp[0],pp[1],pp[2],pp[3]);
}
private void timer1_Tick(object sender, EventArgs e)
......{
showline();
i++; /**//**//**////讓線條向下移動一個點;
r += 20;
g += 10;
b += 25;
showbizer();
x += 1;
y += 1;
}
}