GDI+绘图问题

尧石 2013-01-08 04:12:09
我在一个panel中创建了一个位图,通过GDI+在位图上画一些线段,但是当panel出现滚动条的时候,超过窗口的部分就没办法画了,我根绝窗口的大小,重新生成位图,但是当拖动滚动条的时候,超出窗口的部分还是没有办法正常显示,调试的时候,发现位图的大小并没有改变,这是什么造成的呢?求助~~~
...全文
204 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
风吹腚腚凉 2013-01-09
  • 打赏
  • 举报
回复
引用 9 楼 ddxxll2008 的回复:
引用 8 楼 wjfwd2010 的回复: 你调用滚动条以后,每滚动一次就会导致界面重绘,我也不知道你代码咋写的你绘制图形的方法是在重绘事件里写的么? 不是,我是创建了一个位图,直接在位图上绘制的,所以出现滚动条之后,需要改变位图的大小,然后在新的位图上把之前的图像再绘制一遍。这个方法可行吗?
试试呗
尧石 2013-01-09
  • 打赏
  • 举报
回复
引用 8 楼 wjfwd2010 的回复:
你调用滚动条以后,每滚动一次就会导致界面重绘,我也不知道你代码咋写的你绘制图形的方法是在重绘事件里写的么?
不是,我是创建了一个位图,直接在位图上绘制的,所以出现滚动条之后,需要改变位图的大小,然后在新的位图上把之前的图像再绘制一遍。这个方法可行吗?
风吹腚腚凉 2013-01-09
  • 打赏
  • 举报
回复
你调用滚动条以后,每滚动一次就会导致界面重绘,我也不知道你代码咋写的你绘制图形的方法是在重绘事件里写的么?
尧石 2013-01-08
  • 打赏
  • 举报
回复
引用 6 楼 wjfwd2010 的回复:
引用 5 楼 ddxxll2008 的回复:引用 4 楼 flysnowjava 的回复: 需要截取可视区域的直线绘制,每次拖动都要从新绘制,这样你无论你怎么拖动都能看到直线 但是我最后想生成一个bmp的格式,所以我想不断的增大位图的大小,这个可以做到吗? 可以,超过了他就不会画了,除非你在拖动滚动条的里面有重回的方法~
是要出发滚动条的事件,拖动滚动条的时候重新画图吗?那滚动条滚动的位置通过什么可以得到呢?
风吹腚腚凉 2013-01-08
  • 打赏
  • 举报
回复
引用 5 楼 ddxxll2008 的回复:
引用 4 楼 flysnowjava 的回复: 需要截取可视区域的直线绘制,每次拖动都要从新绘制,这样你无论你怎么拖动都能看到直线 但是我最后想生成一个bmp的格式,所以我想不断的增大位图的大小,这个可以做到吗?
可以,超过了他就不会画了,除非你在拖动滚动条的里面有重回的方法~
尧石 2013-01-08
  • 打赏
  • 举报
回复
引用 4 楼 flysnowjava 的回复:
需要截取可视区域的直线绘制,每次拖动都要从新绘制,这样你无论你怎么拖动都能看到直线
但是我最后想生成一个bmp的格式,所以我想不断的增大位图的大小,这个可以做到吗?
codinghello 2013-01-08
  • 打赏
  • 举报
回复
需要截取可视区域的直线绘制,每次拖动都要从新绘制,这样你无论你怎么拖动都能看到直线
尧石 2013-01-08
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
不明白,超出窗口了,应该看不到了,那还画它干嘛
这样说吧,现在panel中有两个控件,我在两个控件中绘制一条直线。当我把一个控件拖到panel外面的时候,会自动出现滚动条,这个时候在画线的话,只有panel内的部分有连线,拖动滚动条之后,一开始不在panel内的区域中就不会有连线了。不知道这样说是否好理解一些?
尧石 2013-01-08
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
不明白,超出窗口了,应该看不到了,那还画它干嘛
可以拖动滚动条让它显示在窗口中,但是拖动之后只有一开始的那些有,超出窗口的部分就显示不出来,我估计是位图大小没改变,所以只在panel那么大的区域上画图了
bdmh 2013-01-08
  • 打赏
  • 举报
回复
不明白,超出窗口了,应该看不到了,那还画它干嘛

110,570

社区成员

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

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

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