【问题标题】:Calculate area drawn outside of canvas boundaries计算画布边界之外绘制的区域
【发布时间】:2016-10-08 00:53:38
【问题描述】:

假设我有一个宽度和高度均为 400 的画布对象,并且我在它的 2d 上下文中在画布对象的边界之外进行绘制。有没有办法计算在画布边界之外绘制的任何东西的大小?

示例说明:

【问题讨论】:

    标签: html canvas html5-canvas


    【解决方案1】:

    所有矩形的边界区域

    计算所有矩形的极值:

    var currentLeftmostX=10000000;
    var currentTopmostY=10000000;
    var currentRightmostX=-10000000;
    var currentBottommostY=-10000000;
    
    // do this for each rect
    if( rect.x < currentLeftmostX) {currentLeftmostX=rect.x;}
    if( rect.y < currentTopmostY) {currentTopmostY=rect.y;}
    if( rect.x+rect.width > currentRightmostX) {currentRightmostX=rect.x;}
    if( rect.y+rect.height > currentBottommostY){currentBottommostY=rect.y;}
    
    var boundingArea=
        (currentRightmostX-currentLeftmostX)*(currentBottommostY - currentBottommostY);
    

    【讨论】:

      猜你喜欢
      • 2018-07-09
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-17
      相关资源
      最近更新 更多