آموزش گرافیک با استفاده از کتابخانه Graphics.h در زبان ++C

در اين بخش مي‌توانيد در مباحث مربوط به زبانهاي بر پايه C به بحث بپردازيد

مدیران انجمن: abbas.m.k, athlon64x2, شوراي نظارت

New Member
پست: 4
تاریخ عضویت: چهارشنبه ۴ بهمن ۱۳۹۱, ۶:۴۰ ب.ظ
سپاس‌های ارسالی: 4 بار
سپاس‌های دریافتی: 5 بار

Re: آموزش گرافیک با استفاده از کتابخانه Graphics.h در زبان +

پست توسط Hajj saber »

برای کشیدن مستطیل تو پر چه دستوری هست
(با for تو در تو و مستطیل تو در تو 1 ساعت طول میکشه تا انجام شهتصویر)
New Member
پست: 1
تاریخ عضویت: سه‌شنبه ۲۴ بهمن ۱۳۹۱, ۱۲:۴۳ ب.ظ
سپاس‌های دریافتی: 1 بار

Re: آموزش گرافیک با استفاده از کتابخانه Graphics.h در زبان +

پست توسط mahvand70 »

برای من این خطا رو میده!!!!!!!
[CODE][/CODE] # include <graphics.h>

int main()
{
initwindow (400 ,400 ,"Viewport" ,300 ,200);
getch();
closegraph ();
return 0 ;
}
\visual\vc\include\graphics.h(302) : error C2086: 'int right' : redefinition
Captain I
Captain I
نمایه کاربر
پست: 210
تاریخ عضویت: یک‌شنبه ۳۱ مرداد ۱۳۸۹, ۱:۴۷ ب.ظ
سپاس‌های ارسالی: 4791 بار
سپاس‌های دریافتی: 1452 بار
تماس:

Re: آموزش گرافیک با استفاده از کتابخانه Graphics.h در زبان +

پست توسط MISSILE »

برای من این خطا رو میده!!!!!!!


سلام دوست گرامی

هدر فایل graphics.h موجود در پوشه include که در محل نصب کامپایلر ++Dev-C واقع شده است را حذف کنید و هدر فایل زیر را که همان هدر فایل مذکور است را دانلود کنید و جایگزین کنید، مشکلات کوچکی در این هدر فایل وجود داشت که برطرف شد.

[External Link Removed for Guests]

موفق باشید.
New Member
پست: 1
تاریخ عضویت: سه‌شنبه ۱۵ اسفند ۱۳۹۱, ۱۲:۰۴ ق.ظ
سپاس‌های دریافتی: 1 بار

Re: آموزش گرافیک با استفاده از کتابخانه Graphics.h در زبان +

پست توسط saeedrss »

سلام داداش
تشکر بابت تاپیک خوبت

چند تا مشکل
-------------------------------------
#include <graphics.h>

int main ()
{
initwindow ( 400,400,"View",100,100);
getch();
closegraph();
return 0;
}
---------------------------------------
کامپایل نمیشه


از چند خط کدت یه عکس بزار

مثل اینا
-----------
-lbgi

-lgdi32
-lcomdlg32
-luuid
-loleaut32
-lole32
------------------
و کد بالایی

قالب این فروم یه کوچولو با زبان انگلیش مشکل داره (حد اقل واسه من تو کپی کردن )
و یه نکته دیگه
Dev-Cpp 5.2.0.0 64bit Portable
من دارم از این استفاده میکنم (نسخه 32 بیت هم هست )
من از سافت پدیا دان کردم
تعقیرات زیادی تو ظاهر کرده
اگه وقت کردی یه دور تعقیرات رو که باید تو این ورژن انجام بدیم هم بگو
و
چرا از windows.h استفاده نمیکنی؟؟؟
فرق windows.h و graphics هم بگی ممنون میشم
با تشکر


New Member
پست: 4
تاریخ عضویت: چهارشنبه ۱۶ اسفند ۱۳۹۱, ۷:۵۶ ب.ظ
سپاس‌های ارسالی: 5 بار
سپاس‌های دریافتی: 2 بار

Re: آموزش گرافیک با استفاده از کتابخانه Graphics.h در زبان +

پست توسط nimilios »

واقعا تا اینجا عالی بوده. ممنون. در صورت امکان وارد بحث انیمیشن نیز بشوید.
New Member
پست: 4
تاریخ عضویت: چهارشنبه ۱۶ اسفند ۱۳۹۱, ۷:۵۶ ب.ظ
سپاس‌های ارسالی: 5 بار
سپاس‌های دریافتی: 2 بار

Re: آموزش گرافیک با استفاده از کتابخانه Graphics.h در زبان +

پست توسط nimilios »

saeedrss نوشته شده:سلام داداش
تشکر بابت تاپیک خوبت

چند تا مشکل
-------------------------------------
#include <graphics.h>

int main ()
{
initwindow ( 400,400,"View",100,100);
getch();
closegraph();
return 0;
}
---------------------------------------
کامپایل نمیشه


از چند خط کدت یه عکس بزار

مثل اینا
-----------
-lbgi

-lgdi32
-lcomdlg32
-luuid
-loleaut32
-lole32
------------------
و کد بالایی

قالب این فروم یه کوچولو با زبان انگلیش مشکل داره (حد اقل واسه من تو کپی کردن )
و یه نکته دیگه
Dev-Cpp 5.2.0.0 64bit Portable
من دارم از این استفاده میکنم (نسخه 32 بیت هم هست )
من از سافت پدیا دان کردم
تعقیرات زیادی تو ظاهر کرده
اگه وقت کردی یه دور تعقیرات رو که باید تو این ورژن انجام بدیم هم بگو
و
چرا از windows.h استفاده نمیکنی؟؟؟
فرق windows.h و graphics هم بگی ممنون میشم
با تشکر



با اجازه اساتید:
من از ()getch قبل از return 0 استفاده کردم و همینطور تابع ()closegraph رو از برنامه حذف کردم و کامپایل شد.
Captain I
Captain I
نمایه کاربر
پست: 210
تاریخ عضویت: یک‌شنبه ۳۱ مرداد ۱۳۸۹, ۱:۴۷ ب.ظ
سپاس‌های ارسالی: 4791 بار
سپاس‌های دریافتی: 1452 بار
تماس:

Re: آموزش گرافیک با استفاده از کتابخانه Graphics.h در زبان +

پست توسط MISSILE »

سلام دوستان عزیز

برای کشیدن مستطیل تو پر چه دستوری هست؟


برای انجام سریع این کار باید تغییرات زیر را در کد اصلی برنامه اعمال کنید :

Please Login or Register to see this code
توضیحات دستورات بالا :

در دستورات بالا دو تابع به نام های setfillstyle و floodfill به کد برنامه اضافه شده است، تابع اول نوع سَبک و رنگ مورد نظر جهت پر کردن یک شکل بسته را مشخص میکند و در تابع دوم باید مختصات یک نقطه در داخل محدوده شکل بسته را توسط دو پارامتر اولی این تابع مشخص و توسط پارامتر سوم نیز رنگ خط شکل رسم شده مورد نظر را مشخص کنیم.

توجه : تابع setfillstyle و بعد تابع setcolor قبل از تابع رسم شکل و تابع floodfill بعد از تابع رسم شکل باید فراخوانی شوند و پارامتر رنگ هر دو تابع setcolor و floodfill باید با مقداری یکسان مقداردهی شوند در غیر اینصورت شکل مورد نظر با رنگ مشخص شده پر نمیشود.


تابع ()closegraph رو از برنامه حذف کردم


در مورد تابع closegraph باید بگم که رسم شکل، نقطه و اجرای تمامی الگوریتم ها و توابع گرافیکی همه و همه نیاز به حافظه دارند که این حافظه مورد نیاز در زمان اجرا برنامه متناسب با محتوای گرافیکی اختصاص میابد، روش مناسب و استاندارد این است که بعد از انجام کار در محیط گرافیکی این فضاء حافظه به سیستم عامل برگردانده شود که لازمه این کار فراخوانی تابع closegraph بعد از تابع getch است.


دوست گرامی جناب saeedrss ممنون از ابراز لطف شما، اگر عمری باقی بود سعی میکنم تمام آموزش های قرار گرفته در این تاپیک را در قالب یک فایل PDF آماده کنم و در همین تاپیک برای دانلود قرار بدم تا فرآیند یادگیری این مطالب راحت تر و در دسترس باشد. در مورد هدر فایل windows.h (برای استفاده از اکثر توابع API (با این توابع میتوان اکثر اشیای ویندوز را تولید و ساخت و به آنها دسترسی داشت مثل تولید یک فرم برنامه یا یک پیام ویژوال یا بدست آوردن مقدار فضای آزاد هارد دیسک سیستم) سری سیستم عامل های ویندوز باید از این هدر فایل استفاد کنیم) باید بگم خود این هدر فایل یعنی دنیای بزرگ Win32 API که واقعا یک مبحث فوق العاده تخصصی است و نیاز به صرف زمان و کار بسیار و دانش زیاد است و یک مرتبه نمیتوان رفت سراغ سیسم گرافیکی سیستم عامل ویندوز پس بهتر است برای کارهای گرافیکی معمولی از همین روش در زبان برنامه نویسی C استفاده کنیم البته قبلا هم گفتم که روش های بهتری برای کارهای گرافیکی حرفه ای تر موجود است. شاید روزی آموزش مبحث جالب Win32 API رو در انجمن شروع کردیم. [SUB]تصویر[/SUB]

موفق باشید.
New Member
پست: 4
تاریخ عضویت: چهارشنبه ۱۶ اسفند ۱۳۹۱, ۷:۵۶ ب.ظ
سپاس‌های ارسالی: 5 بار
سپاس‌های دریافتی: 2 بار

Re: آموزش گرافیک با استفاده از کتابخانه Graphics.h در زبان +

پست توسط nimilios »

Hajj saber نوشته شده:برای کشیدن مستطیل تو پر چه دستوری هست
(با for تو در تو و مستطیل تو در تو 1 ساعت طول میکشه تا انجام شهتصویر)


با دستور bar
شکل کلی:

 ;(x1, y1, x2, y2)ی 
New Member
پست: 4
تاریخ عضویت: چهارشنبه ۱۶ اسفند ۱۳۹۱, ۷:۵۶ ب.ظ
سپاس‌های ارسالی: 5 بار
سپاس‌های دریافتی: 2 بار

Re: آموزش گرافیک با استفاده از کتابخانه Graphics.h در زبان +

پست توسط nimilios »

برای دانلود یک سری برنامه و آموزش های دیگر که روزانه به روز رسانی می شود می توانید به آدرس
[External Link Removed for Guests]
در فیس بوک
و
nn4e.blogfa.com
مراجعه کنید.
New Member
پست: 1
تاریخ عضویت: پنج‌شنبه ۲۶ اردیبهشت ۱۳۹۲, ۶:۳۹ ب.ظ

Re: آموزش گرافیک با استفاده از کتابخانه Graphics.h در زبان +

پست توسط koosha021 »

خواهشا سریع جواب بدین..
من همین اول کار به مشکل برخوردم وقت زیادی هم ندارم.
#include <graphics.h>
int main()
{
initwindow (400 ,400 ,"Viewport" ,300 ,200 );
return 0;
}
دو خطی هم که گفته شده بود حذف شود حذف شد ولی فرقی نکرد.
هدر فایل رو هم عوض کردم.
هرچی گفتین انجام دادم.!!!!!!!!!!

C:\Dev-Cpp\projects\Makefile.win [Build Error] [Project1.exe] Error 1
Captain I
Captain I
نمایه کاربر
پست: 210
تاریخ عضویت: یک‌شنبه ۳۱ مرداد ۱۳۸۹, ۱:۴۷ ب.ظ
سپاس‌های ارسالی: 4791 بار
سپاس‌های دریافتی: 1452 بار
تماس:

Re: آموزش گرافیک با استفاده از کتابخانه Graphics.h در زبان +

پست توسط MISSILE »

سلام دوست گرامی جناب koosha021,

- سیستم عاملتون چیه؟

- برنامه ای که نوشتید رو داخل کدوم درایو ذخیره کردید؟
New Member
پست: 3
تاریخ عضویت: چهارشنبه ۱ خرداد ۱۳۹۲, ۱۲:۵۸ ب.ظ
سپاس‌های ارسالی: 1 بار
سپاس‌های دریافتی: 2 بار

Re: آموزش گرافیک با استفاده از کتابخانه Graphics.h در زبان +

پست توسط sobshan »

با سلام.
در مورد بخش سیزدهم آموزش.
می خواستم ببینم چه جوری میشه مثلا هر چند بار خواستیم روی دکمه draw کلیک کنیم و هر بار همون دستور رو اجرا کنه.
یا مثلا با کلیک رو یه دکمه یه دایره ترسیم بشه و با کلیک رو یه دکمه دیگه دایره پاک بشه و هر چند بار روی این دو دکمه کلیک کنیم دستورات داده شده رو انجام بده.
ممنون می شم اگه جواب بدید.
ارسال پست

بازگشت به “C Base Programming”