bresenham 画线算法
2015-07-25 21:52
204 查看
<!DOCTYPE html> <html> <head></head> <body> <canvas width="600" height="600" id="C"></canvas> <script type="text/javascript"> var canvas = document.getElementById( "C" ); var context = canvas.getContext( "2d" ); var image_data = context.getImageData( 0, 0, 600, 600 ); function put_pixel( img_data, x, y ) { var index = ( x + y * img_data.width ) * 4; img_data.data[index++] = 0; img_data.data[index++] = 0; img_data.data[index++] = 0; img_data.data[index++] = 255; } function draw_line( x1, y1, x2, y2 ) { var dx = x2 - x1; var dy = y2 - y1; var slope = dy / dx; var x = x1, y = y1; var error = slope - 0.5; for ( var i = 1; i <= dx; ++i ) { put_pixel( image_data, x, y ); if ( error >= 0 ) { y = y + 1; error = error - 1; } x = x + 1; error = error + slope; } } draw_line( 0, 0, 400, 10 ); context.putImageData( image_data, 0, 0 ); </script> </body> </html>
相关文章推荐
- 递归实现求Fibonacci数列的第n项
- 利用SQLmap 拿服务器shell
- wamp 修改www目录
- wamp 修改www目录
- Soldier and Badges(546B)
- zoj2388 Beat the Spread!
- 前端笔试题面试题系列(一)
- 浅谈 malloc/free 和 new/delete
- Python - 两个列表(list)组成字典(dict)
- linux 进程控制理论基础
- mysql的show操作
- [c]HDOJ1874 floyd算法求最短路径
- ubuntu 12.04安装telnet
- ,典型递归问题-F(1025)mod 5 的值
- 17.Letter Combinations of a Phone Number(Map; recursion)
- Android 四大组件学习之BroadcastReceiver二
- haproxy path_beg,path_end ,hdr_beg
- iOS 记住密码\自动登录
- 网页制作之html基础学习2-标签
- Android学习笔记之如何使用圆形菜单实现旋转效果...