Javascript 如何按起点和终点绘制矩形?
现在,我可以用宽度和高度的起点画一个矩形Javascript 如何按起点和终点绘制矩形?,javascript,html,canvas,Javascript,Html,Canvas,现在,我可以用宽度和高度的起点画一个矩形 context.strokeStyle = "red"; context.beginPath(); context.rect(startX, startY, width, height); context.stroke(); 我的问题是,我可以用,startX,startY,EndX,EndY来画图吗?只需编写自己的函数来为您绘制矩形。如果有两个点(x1,y1)和(x2,y2),那么宽度是x sox2-x1的差值,高度是y soy2-y1的差值 使用此
context.strokeStyle = "red";
context.beginPath();
context.rect(startX, startY, width, height);
context.stroke();
我的问题是,我可以用,startX,startY,EndX,EndY来画图吗?只需编写自己的函数来为您绘制矩形。如果有两个点
(x1,y1)
和(x2,y2)
,那么宽度是x sox2-x1
的差值,高度是y soy2-y1
的差值
使用此函数,您的函数可能类似于:
function drawRect(x1, y1, x2, y2){
context.beginPath();
context.rect(x1, y1, x2 - x1, y2 - y1);
context.stroke();
}
或者,如果您不想使用函数,只需执行以下操作:
context.rect(x1, y1, x2 - x1, y2 - y1)
试试这个。希望这有帮助
func rectFromStartAndEnd(_ startPoint:CGPoint, endPoint: CGPoint) -> CGRect
{
var top, left, bottom, right: CGFloat;
top = min(startPoint.y, endPoint.y)
bottom = max(startPoint.y, endPoint.y)
left = min(startPoint.x, endPoint.x)
right = max(startPoint.x, endPoint.x)
let result = CGRect(x: left, y: top, width: right-left, height: bottom-top)
return result
}
你是什么意思?所以我可以直接使用rect(startX,startY,endX,endY)在画布上画一个矩形?不,当然不能,因为rect方法不是那样工作的。但是你可以很容易地编写自己的函数来获取这些值并计算调用rect所需的值。你的意思是像画4条线并把它们放在一起吗?还是没有理解要点,我真的很抱歉。你们能给我看一下密码吗?对不起。这真的是一个简单的数学。我现在真的需要一杯咖啡。