SDL画线 16位(转)
16 SDL
2023-09-27 14:28:13 时间
SDL画线 16位
void put_pixel_16( SDL_Surface *surface, int x, int y, Uint16 pixel ) { Uint16 *pixels = (Uint16 *)surface->pixels; pixels[ ( y * surface->w ) + x ] = pixel; return ; } void draw_line(SDL_Surface *surface, Uint16 x0, Uint16 y0, Uint16 xEnd, Uint16 yEnd, Uint16 pixel) { Uint16 dx = abs (xEnd -x0), dy = abs (yEnd-y0);//fabs Uint16 p =2* dy-dx; Uint16 twoDy = 2*dy, twoDyMinusDx = 2* (dy - dx); Uint16 x,y; if (x0>xEnd) { x=xEnd; y=yEnd; xEnd=x0; } else{ x=x0; y=y0; } put_pixel_16( surface, x, y, pixel ); while (x<xEnd) { x++; if(p<0) p+=twoDy; else{ y++; p+=twoDyMinusDx; } put_pixel_16( surface, x, y, pixel ); } }
相关文章
- 《惢客创业日记》2021.05.16(周日)需要用钱吱一声
- 《惢客创业日记》2020.07.16(周四)如果创业失败,你的损失是什么?
- 给你一个数a,请你输出可能的2到16进制的结果
- 实战演练 | 用 Navicat 16 创建测试数据库
- C#,入门教程(16)——可变数据类型(var)的基础知识与使用禁忌
- MySQL 灵魂 16 问,你能撑到第几问?
- (16)打鸡儿教你Vue.js
- 《Swift开发实战》——第16章,第16.2节下标脚本用法
- SwiftUI NavigationSplitView 学习使用 iOS 16 中引入的新 NavigationSplitView
- 编译器是C写的,包括一点C++,editor和debugger是C++写的(最早的16位编译器是纯汇编写的)
- 【LeetCode】16. 3Sum Closest
- 【数字IC验证快速入门】16、SystemVerilog学习之基本语法3(面向对象编程...内含实践练习)
- IntelliJ IDEA 16 EAP新特性一览
- 【历史上的今天】12 月 16 日:晶体管问世;IBM 停售 OS/2;科幻小说巨匠诞生
- nyoj 244-16进制的简单运算 (scanf("%x%c%x", &a, &b, &c); printf("%o", a ± b))
- iPhone 7处理器解析:台积电16纳米工艺
- 16.ajax_case07
- Linux下汇编语言学习笔记16 ---