.net图像编程(GDI+)自制“小屏保”

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;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值