我在wiki-pedia和其他地方的伪代码中实现/复制了wu line算法.
在绘制正弦波时,它会在线从y显性变为x显性点(或反之亦然)时发生故障. (我没有复制端点代码,因为它看起来很糟糕,我不需要它们用于我的目的.)
有谁知道这个问题的解决方案?如果不是,我将自己修改算法以使其工作.我只是好奇是否有其他人遇到过这个并且确切地知道如何修复它.是否有可能在没有线路彼此全局意识的情况下实施?或者这就是绘制API的实现moveto和lineto函数的原因?
最佳答案 如果性能不是一个大问题,你可以采取更天真的方法来绘制抗锯齿线,例如:
>在更高分辨率的网格中绘制线条(例如,目标分辨率的某个整数倍) – 您需要调整它们的厚度.
>通过将每个n x m像素块转换为单个像素,例如,将目标分辨率下采样到目标分辨率.通过平均RGB值.
根据您正在开发的语言或操作系统,可能有内置的功能来简化这一过程.
或者,您可以计算线条覆盖每个像素的哪个部分(通过将像素正方形与线相交)来计算像素值,使像素强度相对于线条所覆盖的像素区域的部分.