|
首先直接上代码:
void DrawArcScale(void) {
#define PI 3.1415926f
int x0 = 140, y0 = 140, i = 0;
char ac[4] = {0};
GUI_SetBkColor(GUI_BLACK);
GUI_Clear();
GUI_SetTextMode(GUI_TM_TRANS);
GUI_SetFont(&GUI_Font16_ASCII);
GUI_SetColor(GUI_GREEN);
GUI_SetPenSize(5);
/*****************代码1**********************/
GUI_DrawArc(x0, y0, 140, 140, -30, 210);
/*****************代码2**********************/
GUI_SetColor(GUI_WHITE);
GUI_SetPenSize(1);
GUI_DispStringHCenterAt("Hello", 200, 100);
float a;
for (i = 0; i <= 24; i++) {
a = (-30 + i * 10) * PI / 180.;
int x = -130 * cos(a) +x0;
int y = -130 * sin(a) +x0;
GUI_SetColor(GUI_RED);
GUI_SetPenSize((i % 2)?4:5);
GUI_DrawPoint(x, y);
if (i % 2 == 0) {
x = -113 * cos(a) + x0;
y = -113 * sin(a) + y0;
memset((void*)ac,0,sizeof(ac));
sprintf(ac, "%d", 10 * i);
/*****************代码3**********************/
GUI_DispStringHCenterAt(ac,x,y);
}
}
}
硬件平台:STM32F103ZE-EK REV3.0 (没错是硬汉哥2015年的产品)
软件平台:STemWin5.22-keil
问题描述:画弧和描点都正常,但是此时显示字符串有问题即代码2和代码3处有问题
如果将画弧的函数代码1去掉,则代码2可以正常显示,但是代码3无法显示
|
|