首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

裁减矩形算法,该怎么解决

2012-02-27 
裁减矩形算法脑子卡壳做不出来了,设计一个这样的函数lpDestRect目标区域lpSrcRect来源区域lpDestPoint复制

裁减矩形算法
脑子卡壳做不出来了,设计一个这样的函数
lpDestRect目标区域
lpSrcRect来源区域
lpDestPoint复制的起点坐标

如果复制的区域在目标区域外则跳过
DestW:=lpDestRect.Right   -   lpDestRect.Left;
DestH:=lpDestRect.Bottom   -   lpDestRect.Top;
if   (lpDestPoint.X     +   SrcW   <   lpDestRect.Left)   or   (lpDestPoint.Y     +   SrcH   <   lpDestRect.Top)   or
      (lpDestPoint.X                   >   lpDestRect.Right)or   (lpDestPoint.Y                   >   lpDestRect.Right)   then   exit;

但如果只是部分在目标区域则要剪切来源区域防止越界复制导致失败
算法该怎么写,请指教

[解决办法]
bitblt实现
自己判断一下lpDestRect的2个点(左上,右下)是否在lpSrcRect里面,可以用ptinrect这个api
不在,就设置为其极限,或者一个点一个点比较都可以.

[解决办法]
不过一般没必要3个信息,2个就够了,起点没必要.
[解决办法]
楼主,你好。
请问你画框是怎么画的?用LineDDA吗?
我在Image的后面放了一个ScrollBox之后,用LineDDA画出的线看不到了,该怎样解决?谢谢!

热点排行