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

ggvvcc 2011-06-02 03:53:37
构造函数

//
// 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
...全文
232 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ggvvcc 2011-06-06
  • 打赏
  • 举报
回复
没有满意答案,还不让结贴……
这不就是逼着让人给分吗?
我不想说些过激的话,这就是全球最大的中文IT社区吗?
ggvvcc 2011-06-02
  • 打赏
  • 举报
回复
能解释下为什么吗?谢谢!

还忘了说一点,如果参数不是0,0,抛出的异常提示:内存不足。
bdmh 2011-06-02
  • 打赏
  • 举报
回复
之前回复过,个人认为是你的rect应该符合smallimage的尺寸才行
ggvvcc 2011-06-02
  • 打赏
  • 举报
回复
明明显示着:“回复次数:1”,却什么也看不见,什么意思嘛!做广告做的挺带劲的……

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧