یعنی چی!؟پس DirectX چی؟
یعنی چی!؟پس DirectX چی؟
سلام
وقتتون بخیر
اساتید محترم چند وقتی هستش که در پی نمایش فایل های تصویری ؛ عکس و فیلم؛ تو C++ (کنسول) هستم
با open cv موفق به نمایش تصویر شدم اما راهی برای پخش فیلم به همراه صداش پیدا نکردم...
در کل میخوام یه نرم افزار نمایش فیلم با قابلیت کنترل یوزر مثل پلی و پاوز و ... تو C++ بنویسم...
ممنون میشم اگه تو رسیدن به هدفم کمکم کنید
سپاس فراوان
به هر حال اگه خواستید می تونم کدی برای شما تهیه که Layernig فتوشاپ رو براتون انجام بده با تمام interpolating موجود و رایج. ولی برنامش بیشتر به زبان ماشین نزدیکه تا یه زبان سطح بالا.
موفق باشید.
تو وبلاگ زیر هم یک کتاب الکترونیکی هست بدک نیست در مورد گرافیک
www.magazinepro.mihanblog.com
با توجه به اینکه Qt از مشتقات ++C هست لطفا توضیح بدید که Qt از کدام کتابخانه گرافیکی استفاده کرده
Qt در هر سیستم عامل از API ها native همان پلتفرم استفاده کرده است و کنترل های خود را به شکل جدید تعریف کرده است. یعنی مثلا در ویندوز از windows API استفاده کرده است، پس به همین ترتیب توابع گرافیکی استفاده شده در طراحی های سفارشی در ویندوز نیز همان GDI و +GDI هستند.
در کل یعنی همان کتابخانه هایی که مستقیم در کار با C++ در برنامه نویسی native به آن ها دسترسی دارید
البته یکسری کتابخانه تحت عنوان 2D Graphics Canvas هم دارد که در صورت وجود از OpenGL استفاده می کند(در سیمبین از OpenVG)
در ویندوز که GDI هست بله، این همه برنامه که می بینید معمولا در هیمن سطح هستند.
در قسمت گرافیک اگر در جایی نیاز به استفاده از کارت گرافیک نداشته باشند با همین +GDI/GDI کار می کنند (مثلا برنامه winamp).
البته دقت داشته باشید که بحث GUI (رابط گرافیکی کاربری ) را با بحث گرافیک اشتباه نگیرید، اگر قرار هست GUI سفارشی یا skin طراحی کنید، آن وقت شما باید از +GDI/GDI برای طراحی ها استفاده کنید.
پس اکثر برنامه ها و حتی فریم ورک Qt برای داشتن GUI یا فراهم کردن امکانات یک GUI قوی در محیط ویندوز از +GDI/GDI استفاده کردند چون کافی بوده و تنها برای بخشهایی از برنامه اشون که گرافیک و رندر بالایی میطلبیده از کتابخانه های حرفه ای تری استفاده کردند.
پلتفرم جدید ie از diect2d استاده کرده که فکر کنم برای بهتر کار کردن html5 باشه.
ممنون از توضیحاتتون
این دقیقا همان موضوعی هست که در چند پست بالاتر توضیح دادم.
یعنی به خاطر اینکه در ویندوزهای جدید پیش فرض این هست که شما یک کارت قدرتمند با پشتیبانی حداقل DirectX 9 داشته باشید، پس نه تنها دست مایکروسافت باز شده است تا امکانات جدید عرضه کند مانند Direct2D (یا حتی وقتی پنجره های ویندوز در Areo با DirectX تولید می شوند)، آن وقت برنامه ها هم به این سمت خواهند رفت.
مثلا همین winamp سال ها هست که با همین GDI امکانت خود را پیاده سازی کرده و در تنظیمات برای کارهای fade و غیره همچنان از CPU استفاده می کند، اما مطمئن باشید به همین زودی ها کار ترکیب خود را آغاز می کند و GPU را همراه CPU به کار خواهد گرفت تا استفاده بهینه از سخت افزار کرده باشد.
به همین خاطر هست که Qt هم دست به کار شد و با OpenGl کتابخانه 2D خود را نوشت تا برنامه ها در جای ممکن از GPU بهره ببرند.
سلام خدمت آقا نیما
بنده یه سوال داشتم
من DirectX SDK Aug 2009 رو دانلود و نصب کردم
حالا که می خوام از Direct2D استفاده کنم پیغام زیر رو نشون می ده
در صورتیکه من تمامی link های برنامه رو همچنین header های لازم رو به برنامه اضافه کردم اما باز هم همین پیغام رو می ده
آیا Direct2D فقط برای windows vista و windows 7 است؟
درصورتیکه در System Requirment گفته که از windows xp هم پشتیبانی می کنه
fatal error C1083: Cannot open include file: 'd2d1.h': No such file or directory
Diret2D یک بحث جدید هست و فقط در سیستم عامل های جدید اجرا می شود، حتی windows vista نیز باید sp2 به همراه یک package دیگر باشد.
سیستم های پشتیبانی شده برای Direct2D :
Minimum supported client:
Windows 7 or Windows Vista with Service Pack 2 (SP2) and Platform Update for
Windows Vista
Minimum supported server:
Windows Server 2008 R2 or Windows Server 2008 with Service Pack 2 (SP2) and Platform Update for Windows Server 2008
دقت کنید که کتابخانه ها و هدر فایل های مورد نظر در جدید ترین نسخه 7 SDK Windows قرار دارد. پس آخرین SDK ویندوز را دانلود و نصب کنید.
می بخشید میشه یکدونه کامپایلر برای برنامه نویسی win32 معرفی کنید چون فکر می کنم C++ 2010 با دات نت باشه(البته مطمئن نیستم)
و سوال دیگر ام این که با C++ 6.0 هم می تونم به صورت win32 برنامه بنویسم
مطالب تاپیک های زیر را با دقت مطالعه کنید:
https://barnamenevis.org/showthread.php?t=111283
https://barnamenevis.org/showthread.php?t=115240
سلام به همه ی اساتید..
اگه میشه یه راهی رو معرفی کنید واسه امثال من که میخوان cpp کار حرفه ای بشن...
ممنون از همه...
به نظر من کتاب C++ for Programmers: Deitel® Developer Series رو بخون!!!سلام به همه ی اساتید..
اگه میشه یه راهی رو معرفی کنید واسه امثال من که میخوان cpp کار حرفه ای بشن...
ممنون از همه...
سلام خدمت دوستان عزیز
مثلا میخوایم یه برنامه گرافیکی قشنگ تو ویژوال استودیو به زبان سی بنویسیم
اگه بخوایم معمولی بنویسیم که همون windows console application رو انتخاب میکنیم
اما برای اینکه یه فرم ایجاد کنیم و ... باید windows forms application رو اجرا کنیم؟ ؟؟؟ ؟ ؟ ؟
وقتی اینکارو میکنیم یه فرم اماده در اختیار ما قرار میده
و ما میتونیم پر و بالش بدیم
حلا فرض کنین ایم فرم رو طراحی کردیم اینطوری :
حالا به قسمت های مختلف چطوری باید کد داد ؟
کلا قضیه چیه میشه یکم توضیح بدین ؟
اینم قسمت تابع main
![]()
كسي از دوستان ميدونه چرا گرافيك win bgi انقدر كنده نسبته به bgi 16 بيتي . من از تابع floodfill استفاده ميكنم سرعت بطرز وحشتناكي پايين مياد ؟
دز ضمن چزا در bgi , win bgi دكمه هاي arrow key كار نميكنه ؟
سلام اگه کسی سورس تبدیل ماتریس مجاورت به گراف رو داره بزاره
یعنی ماتریس مجاورت رو بگیره بعد گراف را به صورت گرافیکی رسم کنه
با تشکر
وقت بخیر . یه برنامه گرافیکی خیلی ساده مثل رسم دایره رو اگه میشه با استفاده از کامبایلر ++g بنویسین . من از PC BSD استفاده می کنم . واسه اونجا بازم دارم . واقعا ممنونم .
کسی در مورد پیاده سازی صف و پشته و درخت به صورت گرافیکی اطلاعی داره کمک کنه
من خیلی دنبالش گشتم کم آوردم.
سلام دوستان....
من مطالب صفحه ی اول رو خوندم،ولی مقداری گیج شدم!!
من سی پلاس رو با توربو سی یاد گرفتم و کد های مختلفی میتونم بزنم با استفاده از اون!(البته من از نت بینز استفاده میکنم نه خود توربو !!)
االن که ویندوز 8 اومده،ماکروسافت برنامه های متعدد اموزشیش رو روی سی پلاس متمرکز کرده!!(ادم یه جورایی حس میکنه ویژوال اوستودیو 11 اصلا سی شارپ نداره!!) برنامه های مترو رو هم که با سی پلاس نوشتن!!
حالا،مشکل من اینه که با هیچ کدوم از این کد ها اشنایی ندارم!! یعنی من شی گرا رو خوب بلدم،ولی فقط در حد کنسول بلدم کد بزنم با سی پلاس!!
هیچ کدوم از منابعی که دوستان معرفی کردن،نتونست بهم کمکی بکنه که چجوری میشه برنامه نویسی رو شروع کرد!!
مثلا، من توی کنسول با سی شارپ، باید بنویسم:
console.writeline("hello world!");
در صورتی که توی محیط ویندوز اپ،باید بنویسم :
messagebox.show("hello world!!");
خوب، حالا من برای کنسول سی پلاس، مینویسم:
cout<<"hello world!";
کد معادل،برای محیط ویژوال چیه؟!
این داستان QT چیه؟!!! برنامه نویسی برنامه های گرافیکی ساده(مثلا یه ماشین حساب که تو دبیرستان با ویژوال بیسیک مینویسیم!!) با سی پلاس، توی محیط های مختلف QT و ویژوال استودیو فرق داره؟!! کدومش ساده تر،و البته قابل استفاده تر در لینوکسه؟!!!
یعنی یه برنامه ای نوشت،و طبق قانون خود سی پلاس،رو هر سیستم عاملی اجراش کرد!!
سلام کسی الگوریتمی برای ترسیم نیم دایره یا کمان توپر و خالی داره ؟
سلام
از الگوریتمMidpoint circle algorithm استفاده کنید
ممنون از راهنمایی تون ولی من الگوریتم پر سرعتی برای رسم نیم دایره (کمان)می خوام که تو پر یا تو خالی باشه البته می تونم با دستورات شرطی توی الگوریتم رسم دایره مشکل رو حل کنم ولی می خوام تا جایی که بشه از دستورات شرطی استفاده نکنم چون باید رسم خیلی سریع باشه بازم ممنون
دوستان کسی نبود که به من،کتابی سایتی چیزی برای یاد گیری ویژوال سی پلاس معرفی کنه؟! من یه مدت رفتم دنبال سی شارپ،ولی حالا با اومدن وین 8،به نظرم اینده تو همون سی پلاس و محیط ویژوالشه!!
(با ویژوال سی پلاس،میشه هم برا مترو برنامه نوشت،هم برنامه های معمولی قبلی!!) خیلی راحت با یه کوچولو تغییر، php هم هست و نیازی هم نیست که از ماکروسافتی ها استفاده کنم!!
تنها مشکلی که می مونه،کامپایل برنامه ها برای لینوکسه که بعدا براش راه حل پیدا میکنم!! اگر میشه،اموزش ویژوال سی پلاس رو منابع اصلی بهم معرفی کنین؟
قبلا در اینجا بحث شده
1.jpg
میشه اشکالهای این برنامه رو بهم بگین![]()
اگه بخوام در محیط سی 1هشتم از دایره رو رشم کنم با معادله ی دکارتی باید چیکار کنم ؟ منظور حلقه for رو از چند تا چند در نظر بگیرم ؟
با سلام خدمت شما متاسفانه ضمیمه های تاپیک های اولیه مشکل دانلود دارند لطفا برسی کنید اگر مشکلی هست در صورت امکان محبت فرمایید دوباره ضمیمه کنید با تشکر از محبت دوستان به خصوص Nima_NF
من توی tc با graphicse.h گرافیک مینویسم یه جای کار نیاز به نخ دارم و اومدم از تابع Createthread در window.h استفاده کنم دیدم همچین هدرفایلی نداره الان موندم چکار کنم؟ window.h توی vc6 هست اما تو tc نیست راه حل؟
بردن چند نخي بهtc شايد يكم سخت باشه. ولي آوردن توابع گرافيكي تي سي به ويندوز راحت هست. اين دو تا فايل براي اين منظور نوشته شدند:
http://www.planet-source-code.com/vb...=2435&lngWId=3
http://www.planet-source-code.com/vb...=2436&lngWId=3
قبلا ديده بودمشون ولي تا حالا ازشون استفاده نكردم. شايد به دردتون خورد.
مهندس این چیزی که شما میگی نیاز به تغیرات داره فکر کنم من نمیخوام کدم رو بازنویسی کنم میخوام با همون توابعی که توی graphicse.h بود کارم رو پیش ببرم
یعنی یه جورایی بتونم graphics.h رو توی vc6 استفاده کنم
راه حل؟
جالبه یعنی نمیتونیم هیچ کاری بکنیم؟
Borland C++ کاری نمیتونه بکنه؟
من نگفتم كه شما خودتون چيز اضافه اي بنويسيد. كافيه اين فايل رو اينكلود كنيد. بعد توابع گرافيك دات اچ رو صدا بزنيد. اينطوري نام اون توابع رو صدا مي زنيد و در داخل تابعي كه صدا زده شده عباراتي هست كه معادل ويندوز دستور شماست.
سلام مجدد
من یه بازی ساده راکت و توپ رو دارم مینویسم توی محیط tc
کد زیر رو در نظر بگیرید
while(1)
{
ball();
key();
}
خوب من نتونستم از چند نخی توی این محیط استفاده کنم چون نداره اما اومدم کل برنامه رو توی while گذاشتم
حالا حلقه کار میکنه و هر سری هم تابع ball رو اجرا میکنه که این تابع کارش اینه که توپ رو توی صفحه بچرخونه هم اینکه تابع key اجرا میشه که این تابع هنوز ننوشتم اما کارش اینه که باید چک کنه ببینه کلید های چپ و راست فشرده شدن یا نه که اگه شده باشن راکت هم تکون بخوره
اما مشکل اینه که الان برای چک کردن کلید های جهتی نمیدونم از چی استفاده کنم چون توبعی مانند getch منتظر میمونه کاربر کلیدی فشار بده و اگه اینجوری باشه فکر کنم حلقه متوقف بشه تا کاربر کلید بزنه و در این حال توپ هم حرکت نمیکنه
الان من برای تشخصی کلید های چپ و راست چکار کنم؟
در ویندور(win32):
case WM_KEYDOWN:
switch (wParam) {
case VK_UP:
// up was pressed
break;
case VK_DOWN:
// down was pressed
break;
case VK_LEFT:
// Left was pressed
break;
case VK_RIGHT:
//right was pressed
break;
// etc.
}
break;
لیست کامل کد های صفحه کلید در اینجا هست
برای لینوکس هم باید از getch و کد اسکی کلید ها استفاده کنید
Up key = 72
Left key = 75
Right key = 77
Down key = 80
این هم یه نمونه ساده هم در مورد اون حلقه while، بررسی کنید به دردتون می خوره
سلام
من میخواستم برنامه های گرافیکی رو به زبان c بنویسم اما چون ویندوزم سوِن 64 بیتیه توربو سی روش نصبه کار نمیکنه
ایکس پی مجازی هم نصب کردم گرافیکش اونجا هم کار نمیکرد
توربو سی فیکس هم نصب کردم گرافیک اونم کار نمیکرد
میشه کمکم کنید
خوهش میکنم
چه نرم افزاری نصب کنم که بتونم گرافیک با c بنویسم و خروجی بگیرم![]()