آموزش کتابخانه گرافیکی دوبعدی جلسه ی هشتم

آموزش کتابخانه گرافیکی دوبعدی جلسه ی هفتم
اکتبر 9, 2016
نمایش متن و مقدار در emwin
مثال هشتم از emwin (نمایش متن و مقدار در emwin)
نوامبر 2, 2016

آموزش کتابخانه گرافیکی دوبعدی جلسه ی هشتم

رسم گراف

رسم گراف در emwin کار نسبتا راحتی است
بدین منظور یک تابع وجود دارد که در زیر آنرا تشریح می کنیم

لازم به ذکر است برای گراف حرفه ای تر از ویجت گراف بایستی استفاده نمود.

شرح تابع GUI_DrawGraph

تابع نمونه :

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);
}

اسکرین شات :

رسم نمودار دایره ای

برای رسم نمودار دایره ای هم یک تابع وجود دارد که در زیر آنرا شرح داده ایم

شرح تابع GUI_DrawPie

تابع نمونه :

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);
}

اسکرین شات :

حسین
حسین
من 28 سال سن دارم و رشته ی تحصیلی ام مهندسی برق قدرت بوده علاوه بر برق علاقمند به دنیای الکترونیک ، برنامه نویسی و طراحی وب هستم . این سایت رو برای آموزش رابط گرافیکی emWin راه اندازی کردم که بدون کمک شما جلو رفتن غیر ممکنه پس اگه آموزش یا مطالب مرتبطی دارید برام ایمیل کنید تا به اسم خودتون توی سایت منتشر بشه. hosseintomari@gmail.com
اشتراک
اطلاع از
guest

0 نظرات
بازخورد داخلی
مشاهده همه نظرات
0
برای بهبود مطالب، لطفاً نظر بدهید.x