当前位置:编程学习 > C#/ASP.NET >>

窗体绘图 TextureBrush的用法,请教高手。。。

构造函数

//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
//  WindowState = FormWindowState.Maximized;
SetStyle(ControlStyles.Opaque, true);
SetStyle(ControlStyles.ResizeRedraw, true);
Paint += new PaintEventHandler(FrmMain_Paint);

try{
img = new Bitmap("../../girl.jpg");
smallImg = new Bitmap(img, 
new Size(img.Width / 10, img.Height / 10));
}catch(Exception ex){
MessageBox.Show(ex.Message);
}



重绘事件

private void FrmMain_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Brush tb = new TextureBrush(smallImg, 
new Rectangle(0, 0, smallImg.Width, smallImg.Height));

g.FillRectangle(Brushes.White, ClientRectangle);
g.FillEllipse(tb, ClientRectangle);

tb.Dispose();
}



在这里遇到了一个问题:
Brush tb = new TextureBrush(smallImg, 
new Rectangle(0, 0, smallImg.Width, smallImg.Height));
Rectangle的前两个参数必须是0,如果不是0就会出错,这是为什么呀?哪位高人给解释一下,越详细越好,谢谢!

平台:VS2003 XP --------------------编程问答-------------------- --------------------编程问答-------------------- 明明显示着:“回复次数:1”,却什么也看不见,什么意思嘛!做广告做的挺带劲的…… --------------------编程问答-------------------- 之前回复过,个人认为是你的rect应该符合smallimage的尺寸才行 --------------------编程问答-------------------- 能解释下为什么吗?谢谢!

还忘了说一点,如果参数不是0,0,抛出的异常提示:内存不足。 --------------------编程问答-------------------- 没有满意答案,还不让结贴……
这不就是逼着让人给分吗?
我不想说些过激的话,这就是全球最大的中文IT社区吗?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,