屏幕畫線編程
Ⅰ 哪位大神用匯編語言幫忙設計一個畫線的程序使用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
Ⅳ 剛開始學單片機好多不懂,單片機中要在液晶顯示器畫線、畫點、畫圓,具體根據什麼用數學原理 先謝了
這個沒什麼數序原理的 你自己可以想下這個圓要顯示的話哪些點是亮的用單片機給液晶這些點點亮就可以了