首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何根据行程帽计算从哪里开始我的线路?

如何根据行程帽计算从哪里开始我的线路?
EN

Stack Overflow用户
提问于 2015-03-06 23:10:06
回答 1查看 138关注 0票数 1

我正试图划一条线,但我需要考虑行程帽的宽度,这样我才不会溢出容器。

我有这样的代码..。

代码语言:javascript
运行
复制
private void initialize() {
    this.paint = new Paint();
    this.paint.setColor(Color.BLACK);
    this.paint.setStyle(Paint.Style.STROKE);
    this.paint.setStrokeCap(Paint.Cap.ROUND);
    this.paint.setStrokeWidth(1);
}

public void setStrokeWidth(float strokeWidth) {
    this.paint.setStrokeWidth(strokeWidth);
}

public void onDraw(Canvas canvas) {
    int x_start, x_end, y, cap_width;
    y = this.getHeight() / 2;
    x_start = cap_width; //Need to compensate for cap.
    x_end = this.getWidth() - cap_width; //Need to compensate for cap.

    canvas.drawLine(x_start, y, x_end, y, paint);
}

注意,在上面代码的onDraw方法中,我需要计算帽宽。我怎么算这个?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-06 23:10:06

在写这个问题的时候,我意识到答案对一些人来说可能是相当明显的。对于那些没有清晰思考的人(正如我所没有的),这里有一个解决方案。

帽的半径将永远是行程宽度的一半。

代码语言:javascript
运行
复制
cap_width = (int)paint.getStrokeWidth / 2;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28909206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档