320x240 彩色LCD營幕 - 指針圖形展示程式
本程式在設計一倨菱形指針的展示,撰寫了一個 Diamond 的副程式 ,負責繪製指針形狀的圖形,只需提供中心點位置,長邊與寬度之大小,再者是角度與顏色即可。
圖示如下:
// 主程式
.
.
Diamond(120,180,65,5,v,h);
v+=30;
if(v>=360) {v=0;}
if(v==0) {h++;if(h>=8) h=0;}.
.
// 主程式結束
// 副程式
//********************
void Diamond(unsigned int BARx,unsigned int BARy,unsigned int BARv,unsigned int BARw,unsigned int BARa,unsigned char BARc)
{
GS[0][0]=BARx+(cos(((BARa+270)%360)*PI/180)*BARw);
GS[0][1]=BARy+(sin(((BARa+270)%360)*PI/180)*BARw);
GS[1][0]=BARx+(cos(BARa*PI/180)*BARv);
GS[1][1]=BARy+(sin(BARa*PI/180)*BARv);
GS[2][0]=BARx+(cos(((BARa+90)%360)*PI/180)*BARw);
GS[2][1]=BARy+(sin(((BARa+90)%360)*PI/180)*BARw);
GS[3][0]=BARx+(cos(((BARa+180)%360)*PI/180)*(BARv/4));
GS[3][1]=BARy+(sin(((BARa+180)%360)*PI/180)*(BARv/4));
Line(GS[0][0],GS[0][1],GS[1][0],GS[1][1],YCOLOR[BARc]);
Line(GS[1][0],GS[1][1],GS[2][0],GS[2][1],YCOLOR[BARc]);
Line(GS[2][0],GS[2][1],GS[3][0],GS[3][1],YCOLOR[BARc]);
Line(GS[3][0],GS[3][1],GS[0][0],GS[0][1],YCOLOR[BARc]);
Line(GS[0][0],GS[0][1],GS[2][0],GS[2][1],YCOLOR[BARc]);
Line(GS[1][0],GS[1][1],GS[3][0],GS[3][1],YCOLOR[BARc]);
}