当前位置:首页 » 编程软件 » 屏幕画线编程

屏幕画线编程

发布时间: 2023-01-01 08:10:06

Ⅰ 哪位大神用汇编语言帮忙设计一个画线的程序使用masm编程。谢谢了

我完全能独立完成的

Ⅱ LISP编程用pline画线时碰到的问题,求高手指点迷津

(setq pta (getpoint))
(while pta
(setq ptb (getpoint pta))
(command “line” pta ptb“”)
(setq pta ptb)

我也是菜鸟。根据自己想的写的。要pline就最后再串起来吧

Ⅲ lcd240128的如何画出一个圆的形状

在 LCD 上 直接用像素点画圆
1 先初始化LCD
在LCD上直接操作像素点,没多少效率,实际测试中对字符界面也是可以的,直接上代码:

2 怎么计算像素点
根据方程 :(x-a)(x-a) + (y-b) (y-b) = r^2可以写出最简单的算法

画出第一个圆,仔细看这个圆,在最左边有很多像素点“丢失”,这是因为从最左边开始,在x+1后,y增幅较大,相邻的两个像素点纵坐标差值较大;而在靠近最高点处,Y的增幅又变小,导致看起来两边稀,上面密的效果。

.a…


a…

于是想到了对y轴进行像素补偿,在 y_now - y_last > 1 的时候,补偿y,防止y跳变

补偿之后的圆长这个样子,
.a…
.a…
.a…
a…
看着好像还是有点僵硬,干脆补偿的时候从中间截断,前半部分用上一个像素点的x坐标,后半段才用下一个点的x坐标

像这样
.a… 一半用新的横坐标
.a…
a…一半用旧的横坐标
a…

把三个圆的效果和微软自带的的画图工具画的圆作对比:

优点:和微软的比起来,左右的像素点看起来更平滑
缺点:上下的像素点还可以待进一步优化

3 代码如下:
有空了我会把图贴上

文章知识点与官方知识档案匹配
C技能树首页概览
108396 人正在系统学习中
打开CSDN APP,看更多技术内容

【玩转嵌入式屏幕显示】(三)TFT-LCD屏幕打点 + 画线 + 画矩形 + 画圆...
0. 引言TFT-LCD屏幕的画直线、画斜线、画矩形、画圆等算法都是基于打点函数的,所以此程序可以移植到任何屏幕的基本驱动程序之上。1. 打点函数 —— 底层函数(移植需修改)打点函数其实就是屏幕显存(液晶控制器显存)中某一个点的颜色...
画圆方法小结_i_water的博客
1、在LCD屏幕上用颜色画一个空心圆 #include <math.h>#define pi 3.1415926#define N 360void draw_Circle(intm,intn,intr,intcolor) {inti;intx,y;for(i=0;i<N;i++) {x=m+r*cos(2.0*pi*i/N);y= n+r*sin(2.0...
LCD 画线方法及C语言实现
LCD 画线方法及C语言实现,点阵LCD画直线的多种方法
计算机图形学---基于整个屏幕像素点的直接画圆法
基于整个屏幕像素点的直接画圆法 用来记录一个基于整个屏幕像素点的直接画圆法! 算法简介 设直线的两个端点是A(Xa,Ya)和B(Xb,Yb),则我们仅需考虑x=Xa,x=Xb,y=Ya,y=Yb四条线围成的矩形区域内的每一个像素点的情况,设P(X0,Y0);是该区域的任意像素点,则可以通过判断P到直线AB之间的距离来决定P点是否被点亮。 点到直线的距离公式 d=∣Ax0+By0+CA2+b2∣ ...
继续访问

我的5110画图库--Nokia 5110液晶屏实现画点、画线、画矩形、画圆...
#define LCD_Y 48 //液晶屏纵坐标高度 #define LCD_COLUMN LCD_Y / 8 //液晶屏行高度 #define LCD_AREA LCD_X * LCD_Y //液晶屏面积 #define LCD_AREA_BYTE LCD_COLUMN * LCD_ROW //液晶屏字节容量 ...
(学习笔记)stm32f4在液晶上画圆及填充圆的几种方法
先说下画圆,根据圆的对称性将圆8等分,求出其中一份,其他可以通过坐标变换得到。得到过程可以网络中点画圆法。 程序: void LCD_Draw_Circle(uint16_t Xpos,uint16_t Ypos,uint16_t Radius) { int16_t mx=Xpos,my=Ypos,x=0,y=Radius; int16_t d=1-Radius; while(y>x)
继续访问
LCD画线画圆
LCD画线画圆
mpy lcd 绘制圆
1.实心 def drawCirc_fill(tft,x,y,r,pen): ox =r oy =0 err = -r while ox>=oy: last_oy = oy err +=oy oy+=1 err+=oy tft.hline(x-ox,y+last_oy,ox*2+1,pen) ##3 if last_oy != 0: tft.hli
继续访问
lcd画圆算法
#include "math.h" #define PI 3.14159265 #define LCDWIDTH 800 #define LCDHEIGHT 480 //x,y:坐标 //color:颜色 //angle:角度 //radius:半径 void LCD_DrawPoint_Rotate(u16 x,u16 y,u16 color, int angle,int radius) ...
继续访问
LCD编程显示像素点
一 LCD屏幕 本次学习使用的LCD屏是一块 800*480 分辨率的全彩屏幕。 分辨率的意思是:每行有800个像素点,一共有480行。 全彩的意思是:像素点显示的颜色是由RGB红绿蓝三种单颜色组成,其次还有阿尔法粒子透明度A。也就是ARGB。 LCD显示屏在工作中需要显卡,显卡中要有显存。而本次学习的开发板没有独立显卡,所以需要分配虚拟显存。而每个像素点在显存中占据4个字节的空间,也就是ARGB...
继续访问
【LCD画圆】算法系列之十一:圆生成算法
算法系列之十一:圆生成算法 原文:http://blog.csdn.net/orbit/article/details/7253285 分类: 算法系列 2012-02-12 21:45 6828人阅读 评论(21) 收藏 举报 输入您的搜索字词 提交搜索表单 在平面解析几何中,圆的方程可以描述为(x – x...
继续访问
热门推荐 lcd彩屏画点画线和画圆 嵌入式开发
在lcd显示屏上的指定点画出直线,点,圆 本文源于 海之遥的博客 http://blog.sina.com.cn/atpx1989 亲测可行,觉得很有意义,拿过来以备以后用 //-----------画点函数。参数:坐标,颜色------------------- void draw_point(int x, int y, int clor) { fb[
继续访问
STM32学习笔记-LCD画直线,画圆
STM32学习笔记-LCD画直线,画圆 1.画直线 如果在两点(a,b)(c,d)之间画直线,首先考虑c>a,d>b,且k<1的情况,其他情况根据对称关系就能推导出来了。 为了使问题简单化,先将这两点进行平移,将(a,b)平移到原点,那么(c,d)变换后的坐标就是(e,f),其中e=c-a,f=d-b,斜率k=f/e; 假设在LCD上我们取的第i个像素点的坐标是(i,j),那么第...
继续访问

C语言 程序 画圆、画圆和y=x^2
绘制圆 在屏幕上用“*”画一个空心的圆 *问题分析与算法设计 打印圆可利用图形的左右对称性。根据圆的方程: R*R=X*X+Y*Y 可以算出圆上每一点行和列的对应关系。 程序思想和之前的两个程序一样。整个圆向右平移R个单位,因为长宽比不一样所以还要有个系数,下面是我写的程序 #include #include #define R 10 #defi
继续访问
图形学 画圆算法(Bresenham + 中点)
圆的特性 我们的圆中,具有对称的特性,在xy坐标轴中具有八对称的特性。 我们只需要画出一个点 按照八对称性,我们就能获得八个点,所以我们只需要画一个八分之一圆就好了。我们就选择最利于我们思考的第一象限0~Math.sqrt(1)部分,就是上边橘点位置的区域。 中点画圆 我们通过中点到圆的距离(通过符号判定),我们就能选择相应的点。我们每次的选择中点时,增量都是有规律的。 我们通过对直...
继续访问
S3C2440裸机------LCD_画点线圆
目录 1.画点 2.画线、圆 1.画点 我们首先实现画点的函数, #include "lcd.h" /* 实现画点 */ /* 获得LCD参数 */ static unsigned int fb_base; static int xres, yres, bpp; void fb_get_lcd_params(void) { get_lcd_params(&fb_base, &xres, &yres, &bpp); } /* rgb: 0x00RRGGB
继续访问
记录STM32F1控制LCD绘制圆形
注:代码参考与正点原子教程 //绘制一个圆,传入圆心坐标和半径 void gui_dispCircle(uint32_t x0,uint32_t y0,uint32_t r) { int a,b; int di; a=0; b=r;
LCD编程_画点线圆
上篇博客中进行了lcd的简单测试,这篇博客将进行更加复杂的测试——画点、画线、画圆。画线和画圆是在画点的基础上实现的,因此本篇博客重点实现画点操作。 先抛出这样的一个问题,已知: (x,y)的坐标; bpp; xres; yres; 那么,如何在framebuffer中获得像素的地址呢? (x,y)像素的起始地址 = fb_base +(xres * bpp /8...
继续访问
基于像素点的图形显示算法(Bresenham圆形个人理解)
目录 目的 几何原理 代码优化 参考区域选取 计算量 填充方式 程序源码 目的 本实验基于STM32F103RC+TFTLCD屏,旨在于在LCD屏上显示一个实心圆形,然而众所周知,对于屏幕而言,我们只能操作各个像素点,因此,选择出最接近标准圆形的像素点就成了本次实验的主要目的,最终得到的圆形大概应该长这样 看起来很不规则,但是这里只是半径为5个像素点的圆形,因此放大来...
继续访问

最新发布 TFT-LCD显示直线、矩形、圆形
usR、usG、usB变量为16位,但首先读取出的RED数据占5位,且在高字节,GREEN数据占6位,同样在高字节,BLUE数据占5位,在高字节,所以组合时要通过移位,将RED数据放在usColor的高5位,GREEN数据占中间的6位,剩下的5位放BLUE数据,这样就组合成了RGB565的数据格式。如果是填充矩形,则调用填充颜色函数按照矩形的宽和高填充颜色就行,如果是不填充矩形,则画四条直线。之前显示ASCII字符、中文和图片都是使用的取模软件,这次直接用代码驱动显示直线、矩形和圆形。
继续访问

用C语言字符画圆
用C语言画圆,这是一是算法的问题,我们知道,程序是由数据结构加算法组成的,研究这类东西,其实也是研究算法的问题,是比较有意思的。圆心为0的时候,圆的公式公式:那我们要如何写代码呢?示例代...
继续访问

【opencv学习笔记.1】操作像素画圆
任何图像处理算法,都是从操作每个像素开始的,刚接触Opencv,写的第一个小程序:分别用动态地址和指针操作像素画圆。 用的是VS2015搭opencv3.0 一.首先是用动态地址计算来操作像素,这种方法简洁明了,符合大家对像素的直观认识
lcd画圆

Ⅳ 我想问,C语言学会了,怎么在屏幕上画线难道就是printf("____,\n);这样

你这是控制台编程。想在屏幕上画线,得学windows程序设计员或C++、MFC

Ⅳ 刚开始学单片机好多不懂,单片机中要在液晶显示器画线、画点、画圆,具体根据什么用数学原理 先谢了

这个没什么数序原理的 你自己可以想下这个圆要显示的话哪些点是亮的用单片机给液晶这些点点亮就可以了

热点内容
linux怎么编译c文件 发布:2025-09-18 09:55:16 浏览:301
python安装后无法运行 发布:2025-09-18 09:45:57 浏览:236
安卓手机怎么剪辑音乐 发布:2025-09-18 09:44:16 浏览:781
服务器地址修改在哪找 发布:2025-09-18 09:42:41 浏览:441
sntp服务器地址 发布:2025-09-18 09:28:36 浏览:552
phpunit 发布:2025-09-18 09:25:19 浏览:571
怎么改服务器的ip地址吗 发布:2025-09-18 09:24:33 浏览:12
编译703n固件 发布:2025-09-18 08:50:59 浏览:539
三星手机系统文件夹是哪个文件夹 发布:2025-09-18 08:48:45 浏览:282
rmijava 发布:2025-09-18 08:38:26 浏览:21