آموزش کتابخانه گرافیکی دوبعدی جلسه ی هشتم
آموزش کتابخانه گرافیکی دوبعدی جلسه ی هشتم
رسم گراف
رسم گراف در emwin کار نسبتا راحتی است
بدین منظور یک تابع وجود دارد که در زیر آنرا تشریح می کنیم
لازم به ذکر است برای گراف حرفه ای تر از ویجت گراف بایستی استفاده نمود.
تابع نمونه :
void GUI_DrawGraph(I16 * paY, int NumPoints, int x0, int y0);
پارامترهای تابع
paY | اشاره گر به آرایه ای که حاوی مقدارهای Y گراف است |
NumPoints | تعداد مقداهای Y که بایستی نمایش داده شوند. |
x0 | نقطه ی شروع x |
y0 | نقطه ی شروع y |
توضیحات :
تابع فوق یک گراف ترسیم می کند.
ابتدا تابع مکان نما را به x0 و y0 منتقل کرده و مقدار y را از آرایه گرفته و تنظیم میکند. سپس شروع به رسم خط به نقاط x0+1 و y0+*(paY+1) ، x0+2 و y0+*(paY+2) میکند و همینطور ادامه میدهد.
مثال :
#include "GUI.h" #include <stdlib.h> I16 aY[100]; void MainTask(void) { int i; GUI_Init(); for (i = 0; i < GUI_COUNTOF(aY); i++) { aY[i] = rand() % 50; } GUI_DrawGraph(aY, GUI_COUNTOF(aY), 0, 0); }
اسکرین شات :
رسم نمودار دایره ای
برای رسم نمودار دایره ای هم یک تابع وجود دارد که در زیر آنرا شرح داده ایم
تابع نمونه :
void GUI_DrawPie(int x0, int y0, int r, int a0, int a1, int Type);
پارامترهای تابع
x0 | موقعیت X در مرکز دایره به پیکسل |
y0 | موقعیت Y در مرکز دایره به پیکسل |
r | شعاع دایره |
a0 | زاویه ی شروع برحسب درجه |
a1 | زاویه ی پایان برحسب درجه |
Type | رزرو برای آینده مقدار آن بایستی صفر باشد |
توضیحات :
این تابع یک سکتور دایره ای رسم می کند.
int i, a0, a1; const unsigned aValues[] = { 100, 135, 190, 240, 340, 360}; const GUI_COLOR aColors[] = { GUI_BLUE, GUI_GREEN, GUI_RED, GUI_CYAN, GUI_MAGENTA, GUI_YELLOW }; for (i = 0; i < GUI_COUNTOF(aValues); i++) { a0 = (i == 0) ? 0 : aValues[i - 1]; a1 = aValues[i]; GUI_SetColor(aColors[i]); GUI_DrawPie(100, 100, 50, a0, a1, 0); }
اسکرین شات :