vb6 图像框中判断 矩形Shape控件与直线是否有交点,怎么计算

 我来答
nefu_20061617
推荐于2016-11-25 · TA获得超过2342个赞
知道大有可为答主
回答量:1064
采纳率:72%
帮助的人:1487万
展开全部
Function Intersect(a As Shape, i As Line) As Boolean
  Dim L, R, T, B
  L = a.Left
  R = L + a.Width
  T = a.Top
  B = T + a.Height
  With i
  If (.X1 < L And .X2 < L) Or (.X1 > R And .X2 > R) Or _
     (.Y1 < T And .Y2 < T) Or (.Y1 > B And .Y2 > B) Then
    Intersect = False
  ElseIf .X1 = .X2 Or .Y1 = .Y2 Then
    Intersect = True
  Else
    Intersect = (- _
      ((L - .X1) / (.X2 - .X1) > (T - .Y1) / (.Y2 - .Y1)) - _
      ((L - .X1) / (.X2 - .X1) > (B - .Y1) / (.Y2 - .Y1)) - _
      ((R - .X1) / (.X2 - .X1) > (T - .Y1) / (.Y2 - .Y1)) - _
      ((R - .X1) / (.X2 - .X1) > (B - .Y1) / (.Y2 - .Y1)) _
    ) Mod 4
  End If
  End With
End Function
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式