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

تابع تاخیر در RTX KEIL
تابع تاخیر در RTX KEIL
سپتامبر 1, 2016
آموزش کتابخانه گرافیکی دوبعدی جلسه ی ششم
اکتبر 8, 2016

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

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

خیلی از مواقع رسم خطوط از نقطه ای به نقطه ی دیگر است. در emwin این گروه شامل ۱۰ تابع می باشد که در زیر تمامی آنها تشریح شده است

شرح تابع

GUI_DrawHLine

تابع نمونه :

void GUI_DrawHLine(int y, int x0, int x1);

پارامترهای تابع

Y موقعیت Y
x0 موقعیت نقطه شروع x
x1 موقعیت نقطه پایان x

توضیحات :

اگر x1 بزرگتر x0 از باشد چیزی نمایش داده نمی شود

در اکثر کنترلرهای ال سی دی، چون پیکسل های به یک بار تنظیم نیاز دارند و بدون محاسبات است این روال به سرعت اجرا می شود.

اگر یک خط ساده کاملا افقی بخواهیم ترسیم کنیم ، این روال سریعتر از تابع GUI_DrawLine () است

شرح تابع

GUI_DrawLine

تابع نمونه :

void GUI_DrawLine(int x0, int y0, int x1, int y1);

پارامترهای تابع

x0 X-starting position
y0  Y-starting position
x1  X-end position
y1 Y-end position

توضیحات :

این تابع یک خط با نقطه های شروع و پایان مشخص در پنجره ی جاری ترسیم میکند (مختصات مطلق)

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

شرح تابع

GUI_DrawLineRel

تابع نمونه :

void GUI_DrawLineRel(int dx, int dy);

پارامترهای تابع

dx طول مسیر x تا انتهای خط برای ترسیم
dy طول مسیر y تا انتهای خط برای ترسیم

توضیحات :

این تابع یک خط از موقعیت فعلی  (x,y) ، به یک نقطه پایانی مشخص شده توسط dx و dy در پنجره جاری ترسیم می کند. (مختصات نسبی).

شرح تابع

GUI_DrawLineTo

تابع نمونه :

void GUI_DrawLineTo(int x, int y);

پارامترهای تابع

x موقعیت انتهایی X
y موقعیت انتهایی Y

توضیحات :

رسم خط از موقعیت جاری  (x,y)به یک نقطه پایانی x و y که توسط  تابع مشخص می شود.

شرح تابع

GUI_DrawPolyLine

تابع نمونه :

void GUI_DrawPolyLine(const GUI_POINT * pPoint, int NumPoints,int x, int y);

پارامترهای تابع

pPoint اشاره گر به چند ظلعی برای نمایش
NumPoints تعداد نقاط که مشخص شده در لیست نقاط
x موقعیت X از مبدا
y موقعیت Y از مبدا

توضیحات :

این تابع لیست نقاط از قبل تعیین شده را به هم متصل می کند.

نقاط شروع و پایان الزامی برای یکسان بودن ندارند

شرح تابع

GUI_DrawVLine

تابع نمونه :

void GUI_DrawVLine(int x, int y0, int y1);

پارامترهای تابع

x موقعیت X
y0 موقعیت نقطه شروع Y
y1 موقعیت نقطه پایان Y

توضیحات :

این تابع خط عمودی به ضخامت یک پیکسل ، از یک نقطه شروع خاص را تا یک نقطه پایانی مشخص شده در پنجره جاری ترسیم می کند.

اگر y1 بزرگتر از y0 باشد چیزی نمایش داده نمی شود

در اکثر کنترلرهای ال سی دی، چون پیکسل های به یک بار تنظیم نیاز دارند و بدون محاسبات است این روال به سرعت اجرا می شود.

اگر یک خط ساده کاملا عمودی بخواهیم ترسیم کنیم ، این روال سریعتر از تابع GUI_DrawLine () است

شرح تابع

GUI_GetLineStyle

تابع نمونه :

U8 GUI_GetLineStyle(void);

مقدار بازگشتی:

سبک خط کنونی مورد استفاده توسط تابع GUI_DrawLine .

توضیحات :

این تابع وظیفه ی بازگرداندن سبک استفاده شده در خط فعلی توسط تابع GUI_DrawLine را دارد.

شرح تابع

GUI_MoveRel

تابع نمونه :

void GUI_MoveRel(int dx, int dy);

پارامترهای تابع

dx فاصله برای حرکت به X
dy فاصله برای حرکت به Y

توضیحات :

این تابع اشاره گر فعلی خط را نسبت به موقعیت فعلی خود انتقال می دهد.

شرح تابع

GUI_MoveTo

تابع نمونه :

void GUI_MoveTo(int x, int y);

پارامترهای تابع

x موقعیت جدید x
y موقعیت جدید y

توضیحات :

اشاره گر فعلی خط را ، به موقعیت داده شده ، انتقال می دهد.

شرح تابع

GUI_SetLineStyle

تابع نمونه :

U8 GUI_SetLineStyle(U8 LineStyle);

پارامترهای تابع

LineStyle
  • GUI_LS_SOLID  خطوط به صورت SOLID  کشیده می شوند
  • GUI_LS_DASH  خطوط به صورت DASH  کشیده می شوند
  • GUI_LS_DOT خطوط به صورت DOT کشیده می شوند
  • GUI_LS_DASHDOT  خطوط به صورت DASHDOT  کشیده می شوند
  • GUI_LS_DASHDOTDOT  خطوط به صورت DASHDOTDOT  کشیده می شوند

توضیحات :

این تابع سبک خط را برای استفاده در تابع  مشخص می کند

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

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