PDA

View Full Version : گرافیک در سی++



Arashdn
شنبه 25 آذر 1391, 17:05 عصر
سلام دوستان
ساده ترین راه برای رسم خط و دایره در C++ چیه؟
(امکانات بالا نمیخوام و لزومی هم نیست یه گرافیک انجین بزرگ باشه فقط بشه خط و دایره کشید همین)
چون از کامپایلر بورلند استفاده نمیکنم پس هدر graphics رو هم ندارم ...
به نظرتون راه حل چیه؟
خود سی++ چیزی بره این کار داره؟
اگر نه تو ویژوال استدیو راهش چیه؟ (بدون استفاده از mfc و اینطور چیزا)
ممنون

بهروز عباسی
شنبه 25 آذر 1391, 17:12 عصر
درود به شما
کتاب Introduction to C++ Programming and Graphics
رو از یکی از لینک های معرفی شده دانلود کن

https://www.google.com/search?q=Introduction+to+C%2B%2B+Programming+and+G raphics+filetype%3Apdf&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a

موفق باشی

Arashdn
شنبه 25 آذر 1391, 17:59 عصر
ممنون از شما
راستش این کتاب خیلی داستانش زیاده
من فقط یه مثال ساده میخوام از رسم یه خط و یه دایره ، همین

بهروز عباسی
شنبه 25 آذر 1391, 18:18 عصر
ممنون از شما
راستش این کتاب خیلی داستانش زیاده
من فقط یه مثال ساده میخوام از رسم یه خط و یه دایره ، همین
از چه کامپایلری استفاده می کنی؟

تاجای که من میدونم تابعی برای رسم در محیط کنسول نیست (به غیر از هدری که خودت گفتی و OpenGL)
اگه بخوای با خود c بنویسی چیزی شبیه کدهای زیر میشه
http://www.cplusplus.com/forum/beginner/62634/

Arashdn
شنبه 25 آذر 1391, 18:26 عصر
از چه کامپایلری استفاده می کنی؟

تاجای که من میدونم تابعی برای رسم در محیط کنسول نیست (به غیر از هدری که خودت گفتی و OpenGL)
اگه بخوای با خود c بنویسی چیزی شبیه کدهای زیر میشه
http://www.cplusplus.com/forum/beginner/62634/
اینکه گرافیک نیست :لبخند:

از ویژوال استدیو استفاده میکنم...
خود ویژوال استدیو چیز راحتی نداره؟

بهروز عباسی
شنبه 25 آذر 1391, 18:37 عصر
اینکه گرافیک نیست :لبخند:

از ویژوال استدیو استفاده میکنم...
خود ویژوال استدیو چیز راحتی نداره؟
من که گفتم ؛ اگه می تونی از OpenGl استفاده کن.

اگه برنامت Console نیست می تونی از API استفاده کنی . برنامت تحت کنسوله؟

#target
شنبه 25 آذر 1391, 18:50 عصر
میتونی از GDI استفاده کنی .
هر جا که میخوای رنگ کنی اول هندل بهش میگیری بعد رسم میکنی . چه کنسول چه دسکتاپ چه فرم و...

Arashdn
شنبه 25 آذر 1391, 19:30 عصر
اگه برنامت Console نیست می تونی از API استفاده کنی . برنامت تحت کنسوله؟
بله کنسوله ...

میتونی از GDI استفاده کنی .
توضیح بیشتر میدید؟
یه منبع که ساده توضیح داده باشه بتونم دو تا خط بکشم و این پروژه لعنتی رو تموم کنم ....

#target
شنبه 25 آذر 1391, 19:47 عصر
http://www.daniweb.com/software-development/cpp/code/216430/add-a-little-graphics-to-your-console

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

Arashdn
شنبه 25 آذر 1391, 19:59 عصر
http://www.daniweb.com/software-development/cpp/code/216430/add-a-little-graphics-to-your-console

فعلا این لینکو ببین من به سیستم خودم دسترسی ندارم دقیق بنویسم و بررسی کنم. فکر کنم بشه فهمید چکار کرده
والا یه کم از سطح سواد من بالاتره ...
یعنی واقعا یه چیزی مثل هدر graphics.h که در کامپایلر های بورلند هست تو ویژوال استدیو نداریم ؟؟؟؟

#target
شنبه 25 آذر 1391, 20:29 عصر
راست میگی کدش خیلی اضافه داره !!!
این کدو برات ساده نوشتم
#include <windows.h>
#pragma comment (lib , "GDI32.lib")


int main()
{
HWND hConWnd = GetConsoleWindow();
HDC Draw0 = GetDC(hConWnd);
HPEN hNPen = CreatePen(PS_SOLID, 2, RGB(10,50,120));
SelectObject(Draw0, hNPen);
MoveToEx(Draw0 , 50 ,50 , NULL);
int p = LineTo(Draw0, 100, 100);

Sleep(5000);
return 0;
}
کد نسبتا ساده هست . GetConsoleWindow هندل به پنجره کنسولت میده . تابع GetDC هندل هست برای طراحی GDI و اینا استفاده میشه .
CreatePen قلم مورد نطر رو ایجاد میکنه . پارامتر آخر با ماکرو RGB رنگ ایجاد میکنه . تابع SelectObject قلم رو نسبت میدیم به هندل HDC که همون کنسول انتخاب شده . تایع MoveToEx هم حرکت به ی نقطه هست . LineTo هم رسم خط هست . (اون Sleep برا این گذاشتم که 5 ثانیه صفحه باز بمونه بتونی ببینی)

Arashdn
چهارشنبه 29 آذر 1391, 14:03 عصر
از opengl نمیشه استفاده کرد؟

fire22
پنج شنبه 30 آذر 1391, 10:11 صبح
خدایا به اینا چه پروژه هایی میدن و به ما چه پروژه هایی؟؟
باید برای پروژه ی سی++ ام یکی از شی های سی شارپ را طراحی کنم ببرم.مثلا کامند یا فرم یا تکست باکس و... . دهنم سرویس شده. ای خدااااااا

fire22
پنج شنبه 30 آذر 1391, 10:13 صبح
راستی عزیز سی++ که از کامپایلر بورلند استفاده نمیکنه .و منظورتون چیه که هدر graphics.h را نداری؟؟؟!!

Arashdn
پنج شنبه 30 آذر 1391, 18:32 عصر
خدایا به اینا چه پروژه هایی میدن و به ما چه پروژه هایی؟؟
باید برای پروژه ی سی++ ام یکی از شی های سی شارپ را طراحی کنم ببرم.مثلا کامند یا فرم یا تکست باکس و... . دهنم سرویس شده. ای خدااااااا
به ما گفتن تحت کننسول گیم بنویسین .....

بگذریم



راستی عزیز سی++ که از کامپایلر بورلند استفاده نمیکنه .و منظورتون چیه که هدر graphics.h را نداری؟؟؟!!
ویژوال استدیو چنین هدری نمیشناسه ....

fire22
پنج شنبه 30 آذر 1391, 23:11 عصر
بله عزیز ویژوال استدیو نمیشناسه ولی توربو سی++ میشناسه!

ahmadasm
جمعه 01 دی 1391, 16:35 عصر
سلام
به نظر من بهترین گزینه شما استفاده از opengl چون به راحتی با c++ کار می کنه