首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电脑怎么画线条??

电脑怎么画线条??
EN

Stack Overflow用户
提问于 2011-07-30 03:02:27
回答 4查看 1.5K关注 0票数 6

Windows GDI具有以下功能:

MoveTo();

LineTo();

它们接受在哪里开始绘制和在哪里停止绘制的坐标。

但是这些函数是如何实现的呢?(特别是LineTo)

他们需要计算A点和B点之间的所有点吗??

这条线到底是怎么画的?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-07-30 03:06:04

是的,他们计算A和B之间的每个点。

最常见的有效方法是Bresenham's Line Algorithm

请注意,Windows LineTo不会绘制最后一个点。当一个接一个地绘制直线段时,这将防止重复绘制端点。

票数 7
EN

Stack Overflow用户

发布于 2011-07-30 03:07:24

从来没有看过Windows源代码的人可以深入回答这个问题……但Windows和其他软件一样:它需要一些算法来划清界限……你可以在这里看到一个这样的算法:http://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm

Moveto更“简单”,因为它只更新系统已知的当前坐标...

票数 2
EN

Stack Overflow用户

发布于 2011-07-30 03:10:08

它不需要计算A和B之间的所有点(这是无限的),只需要计算A和B之间的离散像素。这通常是一个标准的线条光栅化算法。有关Bresenham的线条光栅化算法,请参阅Wikipedia,这是标准的教科书示例,通常也是更灵活的光栅化算法的基础。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6877770

复制
相关文章

相似问题

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