صفحه 1 از 4 123 ... آخرآخر
نمایش نتایج 1 تا 40 از 143

نام تاپیک: برنامه نویسی گرافیک در C و ++C

  1. #1

    برنامه نویسی گرافیک در C و ++C

    با توجه به سوالات مکرر برخی از کاربران و خصوصا دانشجویان جدید، تصمیم گرفته شد تا توضیحاتی درباره روش های نوشتن برنامه های گرافیکی در زبان C++‎/C بیان شود و برخی از تاپیک های پرداخته شده به این موضوع نیز معرفی شوند.


    مقدمه:

    اکنون بیش از 15 سال از انتشار کامپایلرهایی همچون ++Turbo C برای توسعه در محیط DOS می گذرد و در طی این سال ها امکانات و کتابخانه های بسیاری به زبان های C و ++C اضافه شده است از جمله STL در ++C که بسیاری از الگوریتم های معروف و پرکاربرد مانند پشته ، لیست پیوندی ،انواع صف ، انواع مرتب سازی ها و غیره را بدون نیاز به پیاده سازی در اختیار شما قرار می دهد که برای بهره مندی از این امکانات می بایست از کامپایلرهای جدید و به روز 32/64 بیتی استفاده کرد، از جمله:
    ++Visual C و ++minGW/Dev C (کد باز و رایگان) و C++‎Builder و ...

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

    سوال- آیا می توان از توابع گرافیکی قدیمی graphics.h در محیط های جدید برنامه نویسی مانند Visual C++ /Borland C++‎builder / gcc / mingw و ... استفاده کرد؟

    خیر، این توابع از جمله توابع 16 بیتی قدیمی و منسوخ شده بورلند می باشند که برخلاف تفکر برخی از نوآموزان، جزئی از این زبان نیست.

    لذا برای توسعه های جدید، چندین راه وجود دارد:

    روش 1) اولین و بهترین روش برای کار با گرافیک مخصوصا برای دانشجویان، روی آوردن به نوشتن برنامه های غیر کنسولی می باشد (با زبان C++‎/C) همانند سایر برنامه های ویندوز اما فقط در سطح ساده و برای نمایش اشکال گرافیکی و البته بدون داخل شدن در مباحث های پیشرفته واسط کاربری. (به این شکل که پنجره ای ایجاد نموده و در آن شروع به رسم اشکال گرافیکی کنید)

    در ویندوز دوستان می توانند با توابع گرافیکی GDI و +GDI از طریق شیوه های win32 و MFC با کامپایلرهای ++VC و ++DevC و یا از طریق VCL با کامپایلر C++‎Builder این کار را انجام دهند.
    توجه کنید که با مطالعه بخش گرافیکی یکی از لینک های زیر در مدتی بین دو هفته تا یک ماه قادر به ایجاد برنامه های گرافیکی، بازی ساده گرافیکی و همین طور کار با mouse و keyboard خواهید بود:

    برای win32 (سطح پایین ،اما یادگیری با مراجع زیر بسیار راحت می باشد):
    http://www.functionx.com/win32/index.htm
    http://www.winprog.org/tutorial/

    برای MFC (کمی ساده تر از مورد فوق)
    http://www.functionx.com/visualc

    برای VCL
    http://www.functionx.com/bcb/index.htm


    -------------------------------
    روش 2) استفاده از توابع کنسولی مایکروسافت برای command prompt ویندوز ، لیست این توابع در لینک زیر موجود می باشد:
    لیست توابع کنسولی مایکروسافت

    در این روش شما باید معادل توابع graphics.h را که در محیط Turbo C و کامپایلر های سری قدیم بورلند وجود داشت را با توابع 32 بیتی کنسولی مایکروسافت پیاده سازی کنید، به عنوان مثال برای gotoxy و clrscr لینک زیر را مشاهده کنید:
    معادل توابعی مثل gotoxy و clrscr در ++VC

    توجه به این مورد ضروری می باشد که محیط command prompt ویندوز محیطی کاملا متفاوت از محیط 16 بیتی DOS می باشد و نباید انتظار داشته باشید که تمامی امکانات 16 بیتی قدیمی توسط این کامپایلرها به همان شکل در اختیار شما قرار گیرد، از جمله رسم اشیاء گرافیکی همانند قبل در این روش امکان پذیر نیست و جداول و اشکال ساده می بایست توسط خطوط و کارکترها پیاده سازی شوند، اما این قابلیت در اختیار شما قرار می گیرد که بتوانید از اکثر توابع پیشرفته سیستم عامل در محیط کنسول استفاده کنید.

    لینک زیر شامل مثال ها و آموزش های کامل در زمینه استفاده از همین توابع کنسولی win32 می باشد، پس قبل از هر کاری ابتدا نگاهی به نمونه های پیاده سازی شده در این سایت بیاندازید:
    http://www.adrianxw.dk/SoftwareSite/index.html

    -------------------------------
    روش 3) روش ساده تر از مورد قبل، استفاده از کتابخانه های 32 بیتی آماده غیر استاندارد و معادل graphic.h می باشد که برخی از آن ها open source (کد باز) نیز می باشد، مانند WinBGI که می توانید فایل های آن را از صفحه زیر دانلود کرده و استفاده کنید:
    فایل های مربوط به WinBGI به همراه یک نمونه مثال

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

    -------------------------------
    روش 4) آخرین و بدترین روش برگشتن به محیط قدیمی ++Turbo C و استفاده از همان توابع گرافیکی graphics.h می باشد که در برخی کتاب ها از جمله کتاب C جعفرنژاد قومی به آن پرداخته شده است. (البته امیدوارم به عنوان یک دانشجو و یا حتی کسی که می خواهد در حد پروژه های ساده با این زبان آشنا شود این گزینه را انتخاب نکنید)

    از جمله تاپیک های پرداخته شده به این مورد که می توانید نمونه کدهایی برای Turbo C پیدا کنید:
    برنامه هایی به زبان C
    باز کردن یه فایل BMP در TC تحت داس
    کار گرافیکی با C یا ++C
    یجاد منو(menu) گرافیکی در سی

    مجددا تاکید می کنم به عنوان یک برنامه نویس مورد 4 را فراموش کنید.

    موفق باشید
    آخرین ویرایش به وسیله Nima_NF : پنج شنبه 18 تیر 1388 در 20:39 عصر دلیل: اضافه کردن لینک های جدید

  2. #2

    نقل قول: برنامه نویسی گرافیک در C و ++C

    برخی از دوستان در مورد سایت هایی برای کار با mouse و keyboard در کنار کار گافیکی سوال کردند که می توانند از نمونه کدهای لینک های زیر شروع به یادگیری کنند (ابتدا مطالعه لینک های قرار داده شده در تاپیک قبل برای win32 ضروری است):

    Using Mouse Input
    برای یک نمونه خوب حتما Drawing Lines with the Mouse را در لینک فوق مطالعه کنید.

    How To Use Win32 API to Draw a Dragging Rectangle on Screen DC

    Win32 API - Tutorial
    در لینک فوق نمونه های پیام WM_LBUTTONDOWN و WM_LBUTTONUP را برای پردازش mouse بررسی کند.


    سعی می کنم در اولین فرصت یک نمونه کد ساده با توضیحات در همین مورد قرار دهم.

  3. #3

    نقل قول: برنامه نویسی گرافیک در C و ++C

    کاربرانی که دنبال یک آموزش کامل برای ساختن یک Text Editor حرفه ای مانند Word یا محیط نوشتاری visual studio هستند (از طریق win32 API و ++C ) می توانند از مقاله فوق العاده زیر استفاده کنند که شخصا ارادت خاصی به ایشون و مقالاتشون دارم.

    حدود 18 صفحه می باشد و مرحله به مرحله امکانات را به آن اضافه می کند و هر صفحه نیز شامل سورس کد می باشد (پیش نیاز آن آشنایی اولیه با win32 می باشد که در پست اول لینک دو سایت قرار داده شده است):

    Design and Implementation of a Win32 Text Editor

    ضمیمه 20024

    موفق باشید

  4. #4

    آموزش مقدماتی گرافیک از طریق win32

    هدف از این آموزش ترسیم اشکال گرافیکی ساده در محیط ویندوز هست.

    ضمیمه 20026

    پیش نیاز این آموزش:
    - مطالعه دو لینک آموزشی در پست اول برای آشنایی با مفاهیم ساخت پنجره و پیام ها
    - استفاده از کامپایلر visual C++‎ 2005 یا بالاتر


    نحوه انجام:
    1) ابتدا به منوی new رفته و یک پروژه از نوع win32 project با نام "rect1" و مقادیر پیش فرض بسازید (دقت کنید که console نباشد).
    پروژه با چند فایل ساخته می شود، که ما با فایل rect1.cpp کار داریم.

    2) برای رسم یک مربع ساده به این شکل عمل کنید:
    در قسمت case و پیام WM_PAINT کار های گرافیکی در قسمت client یا همان قسمت سفید انجام می شود، دقت کنید که کد های گرافیکی باید مابین دو دستور BeginPaint و EndPaint نوشته شوند.

    برای شروع مربعی بدون رنگ رسم می کنیم، کد را به شکل زیر تغییر دهید:

    case WM_PAINT:
    hdc = BeginPaint(hWnd, &ps);
    // TODO: Add any drawing code here...

    Rectangle(hdc, 100, 100, 200, 200); // Empty

    EndPaint(hWnd, &ps);
    break;

    3) حال در کنار آن مربعی با یکی از رنگ های پیش فرض سیستم رسم می کنیم:

    case WM_PAINT:
    hdc = BeginPaint(hWnd, &ps);
    // TODO: Add any drawing code here...

    Rectangle(hdc, 100, 100, 200, 200); // Empty

    SelectObject (hdc, GetStockObject (LTGRAY_BRUSH)) ;
    Rectangle(hdc, 300, 100, 400, 200);
    // Filled by light gray color

    EndPaint(hWnd, &ps);
    break;
    در کد فوق با استفاده از دستور SelectObject یکی از اشیاء را مانند قلم ، مداد ، عکس و غیره را برای رنگ آمیزی و ترسیم می توانید انتخاب کنید. در این مورد ما با استفاده از تابع GetStockObject یکی از قلم های پیش فرض سیستم را انتخاب کردیم که خاکستری روشن هست. (سایر انواع : BLACK_BRUSH، HOLLOW_BRUSH ، WHITE_BRUSH ، BLACK_PEN و ....)


    4) برای ساختن یک brush یا قلم دلخواه (با رنگ دلخواه) به این شکل عمل می کنیم:

    - ابتدا قلم را در پیام WM_CREATE می سازیم (این پیام را خودتان در بخش case ها اضافه کنید )، هر چیزی که در بخش WM_CREATE نوشته شود در هنگام شروع برنامه قبل از هر چیزی اجرا می شود .

    - از تابع CreateSolidBrush و ماکرو RGB برای ساخت قلم و رنگ استفاده می کنیم.

    - hbrush از نوع HBRUSH باید قبل از switch تعریف شود و حتما static باشد چون فقط یک مرتبه در شروع برنامه مقدار دهی می شود.

    - وقتی خودمان قلمی درست می کنیم باید در انتهای برنامه فضای اختصاص داده شده به آن را آزاد کنیم پس در قسمت WM_DESTROY در هنگام بستن برنامه را فراخوانی DeleteObject می کنیم .

    - SelectObject آخر برای این است که همراه پس از انجام رسم ، قلم قبلی که پیش فرض سیستم بود انتخاب و آماده برای سایر موارد رسم بعدی شود.

    پس تابع به شکل زیر تغییر داده می شود:

    LRESULT CALLBACK WndProc(HWND hWnd, UINT message,
    WPARAM wParam, LPARAM lParam)
    {
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
    static HBRUSH hbrush, hbrushOld; // must be static

    switch (message)
    {
    case WM_CREATE:
    // Create a red brush
    hbrush = CreateSolidBrush(RGB(255, 0, 0));

    break;


    case WM_COMMAND:
    // **... I removed codes ... **
    break;

    case WM_PAINT:
    hdc = BeginPaint(hWnd, &ps);
    // TODO: Add any drawing code here...

    Rectangle(hdc, 100, 100, 200, 200); // Empty

    SelectObject (hdc, GetStockObject (LTGRAY_BRUSH)) ;
    Rectangle(hdc, 300, 100, 400, 200); // Filled by light gray color

    // Select the new brush and draw
    hbrushOld = (HBRUSH)SelectObject(hdc, hbrush);
    Rectangle(hdc, 500, 100, 600, 200);
    // Filled by light gray color
    SelectObject(hdc, hbrushOld);
    // select old brush

    EndPaint(hWnd, &ps);
    break;

    case WM_DESTROY:
    PostQuitMessage(0);
    DeleteObject(hbrush);

    break;
    default:
    return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
    }
    5) سایر توابعی که می توانید از آن ها برای رسم اشکال استفاده کنید:
    Ellipse ، Polygon ، RoundRect ، Pie ، Chord ، Arc ، LineTo ، Polyline و ...

    پروژه نیز ضمیمه شد.

    در آینده نحوه کار با mouse و keyboard برای رسم اشکال نیز توضیح داده خواهد شد.

    موفق باشید

  5. #5

    نقل قول: برنامه نویسی گرافیک در C و ++C

    هدف از این آموزش ترسیم مستطیل در محیط ویندوز با حرکات mouse هست و در این قسمت شما با پیام های mosue آشنا می شوید.

    ضمیمه 20095


    - ابتدا تابعی با نام DrawBorder را برای ترسیم یک مستطیل تعریف می کنیم.

    - دقت کنید که از آن جایی که در خارج از پیام WM_PAINT در حال رسم هستیم لذا ابتدا هندل DC یا همان display device context را برای انجام کارهای گرافیکی قسمت client area باید با استفاده از GetDC دریافت کنید و در پایان ترسیم نیز با ReleaseDC آزاد کنید.

    - تابع SetROP2 با فلگ R2_NOT باعث می شود مستطیل ما با رنگی معکوس زنگ زمینه در هنگام drag کردن mouse نمایش داده شود.


    void DrawBorder(HWND hwnd, POINT ptBeg, POINT ptEnd)
    {
    HDC hdc ;
    hdc = GetDC (hwnd) ;

    SetROP2 (hdc, R2_NOT) ;
    SelectObject (hdc, GetStockObject (NULL_BRUSH)) ;
    Rectangle (hdc, ptBeg.x, ptBeg.y, ptEnd.x, ptEnd.y) ;

    ReleaseDC (hwnd, hdc) ;
    }
    تابع WndProc را همانند مثال قبل برای پیام ها به شکل زیر تغییر دهید:



    LRESULT CALLBACK WndProc(HWND hWnd, UINT message,
    WPARAM wParam, LPARAM lParam)
    {
    int wmId, wmEvent;
    HDC hdc ;
    PAINTSTRUCT ps ;
    static BOOL drawing, drawBox ;
    static POINT ptBeg, ptEnd, ptBoxBeg, ptBoxEnd ;

    switch (message)
    {
    case WM_LBUTTONDOWN :
    ptBeg.x = ptEnd.x = LOWORD (lParam) ;
    ptBeg.y = ptEnd.y = HIWORD (lParam) ;

    drawing = TRUE ;
    return 0 ;

    case WM_MOUSEMOVE :
    if (drawing)
    {
    SetCursor (LoadCursor (NULL, IDC_CROSS)) ;
    DrawBorder (hWnd, ptBeg, ptEnd) ; // clean previous drawing

    ptEnd.x = LOWORD (lParam) ;
    ptEnd.y = HIWORD (lParam) ;

    DrawBorder (hWnd, ptBeg, ptEnd) ;
    }
    return 0 ;

    case WM_LBUTTONUP :
    if (drawing)
    {
    DrawBorder (hWnd, ptBeg, ptEnd) ;

    ptBoxBeg = ptBeg ;
    ptBoxEnd.x = LOWORD (lParam) ;
    ptBoxEnd.y = HIWORD (lParam) ;

    SetCursor (LoadCursor (NULL, IDC_ARROW)) ;

    drawing = FALSE ;
    drawBox = TRUE ;
    InvalidateRect (hWnd, NULL, TRUE) ;
    }
    return 0 ;

    case WM_PAINT :
    hdc = BeginPaint (hWnd, &ps) ;

    if (drawBox)
    {
    SelectObject (hdc, GetStockObject (LTGRAY_BRUSH)) ;
    Rectangle (hdc, ptBoxBeg.x, ptBoxBeg.y, ptBoxEnd.x, ptBoxEnd.y) ;
    }

    if (drawing)
    {
    SetROP2 (hdc, R2_NOT) ;
    SelectObject (hdc, GetStockObject (NULL_BRUSH)) ;
    Rectangle (hdc, ptBeg.x, ptBeg.y, ptEnd.x, ptEnd.y) ;
    }

    EndPaint (hWnd, &ps) ;
    return 0 ;

    case WM_COMMAND:
    wmId = LOWORD(wParam);
    wmEvent = HIWORD(wParam);
    // Parse the menu selections:
    switch (wmId)
    {
    case IDM_about:
    DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
    break;
    case IDM_EXIT:
    DestroyWindow(hWnd);
    break;
    default:
    return DefWindowProc(hWnd, message, wParam, lParam);
    }
    break;

    case WM_DESTROY :
    PostQuitMessage (0) ;
    return 0 ;

    default:
    return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
    }

    // Message handler for about box.
    INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
    {
    UNREFERENCED_PARAMETER(lParam);
    switch (message)
    {
    case WM_INITDIALOG:
    return (INT_PTR)TRUE;

    case WM_COMMAND:
    if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
    {
    EndDialog(hDlg, LOWORD(wParam));
    return (INT_PTR)TRUE;
    }
    break;
    }
    return (INT_PTR)FALSE;
    }
    پیام های mouse مورد استفاده :
    - پیام WM_LBUTTONDOWN وقتی فراخوانی می شود که کلیک چپ mouse زده می شود.

    - پیام WM_MOUSEMOVE وقتی که mouse در حال حرکت می باشد.
    لذا با یک متغیر bool تست می کنیم که حتما پیام LBUTTONDOWN مقدار true داشته باشد و سپس عملیات انجام شود.

    - پیام WM_LBUTTONUP وقتی کلیک چپ mouse آزاد می شود
    پس از پایان این پیام تابع InvalidateRect را فراخوانی می کنیم تا با رفرش کردن تصویر در قسمت WM_PAINT ترسیم نهایی مستطیل انجام شود (متغیر drawBox وقتی true می شود)

    - با استفاده از lParam های در پیام های mouse مختصات x و y را دریافت می کنیم.

    - تابع SetCursor نشان mosue را به یک شکل دیگر مانند + تغییر می دهد.

    سورس کد پروژه ضمیمه شد
    موفق باشید

  6. #6

    نقل قول: برنامه نویسی گرافیک در C و ++C

    لطفا از پرسیدن سوالات قدیمی (در زمینه گرافیک با Turbo C) در این تاپیک جدا خوداری کنید و تاپیک جدید برای آن ها باز کنید .

  7. #7

    نقل قول: برنامه نویسی گرافیک در C و ++C

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

  8. #8

    نقل قول: برنامه نویسی گرافیک در C و ++C

    دوستانی که می خواهند یک text editor برای محیط کنسول طراحی کنند و از توابع گرافیکی قدیمی بورلند نیز استفاده نکنند، می توانند برنامه زیر را دریافت و مطالعه کنند:

    A Complete Console Text Editor

    یک نمونه عکس:
    ضمیمه 26109

    این برنامه توسط روش دوم نوشته شده است که در پست اول همین تاپیک ذکر شده است. یعنی همان استفاده از توابع کنسولی مایکروسافت و پیاده سازی gotoxy و غیره .
    البته خود این برنامه در محیط ++DevC نوشته شده است، اما به این شکل در کامپایلر های دیگر ویندوز مانند ++Visual C نیز قابل استفاده است.

    توجه کنید که از توابع قدیمی گرافیکی بورلند استفاده نشده است و در کامپایلرهای قدیمی مانند ++Turbo C نیز قابل اجرا نیست.

  9. #9
    کاربر جدید
    تاریخ عضویت
    دی 1387
    محل زندگی
    تهران
    پست
    6

    نقل قول: برنامه نویسی گرافیک در C و ++C

    سلام
    ببخشید ، آیا برای یادگیری برنامه نویسی OpenGL در C مستندات فارسی وجود دارد؟
    با تشکر

  10. #10

    نقل قول: برنامه نویسی گرافیک در C و ++C

    نقل قول نوشته شده توسط ilia_86 مشاهده تاپیک
    سلام
    ببخشید ، آیا برای یادگیری برنامه نویسی OpenGL در C مستندات فارسی وجود دارد؟
    با تشکر
    اگر می خواهید وارد برنامه نویسی سه بعدی شوید به هیچ عنوان دنبال مطالب فارسی نباشید که با توجه به تغییرات هر ساله تکنولوژی گرافیک و کتاب ها به هیچ جایی نخواهید رسید .

    در صورتی که همچنان دنبال مطالب فارسی هستید می توانید از جزوه های درس گرافیک دانشگاه های مطرح کشور یا مقالات فارسی وب سایت های فارسی آموزشی استفاده کنید.

  11. #11

    نقل قول: برنامه نویسی گرافیک در C و ++C

    نقل قول نوشته شده توسط Nima_NF مشاهده تاپیک
    اگر می خواهید وارد برنامه نویسی سه بعدی شوید به هیچ عنوان دنبال مطالب فارسی نباشید که با توجه به تغییرات هر ساله تکنولوژی گرافیک و کتاب ها به هیچ جایی نخواهید رسید .

    در صورتی که همچنان دنبال مطالب فارسی هستید می توانید از جزوه های درس گرافیک دانشگاه های مطرح کشور یا مقالات فارسی وب سایت های فارسی آموزشی استفاده کنید.
    ولی من مستندات فارسی رو یک جا جمع کردم همراه چند کتاب دیگه
    دانلود کنید اگر دوست داشتید.
    geraphic.ir
    هم سایتمه.

  12. #12

    نقل قول: برنامه نویسی گرافیک در C و ++C

    نقل قول نوشته شده توسط ilia_86 مشاهده تاپیک
    سلام
    ببخشید ، آیا برای یادگیری برنامه نویسی OpenGL در C مستندات فارسی وجود دارد؟
    با تشکر

    سلام
    جزوه دکتر مهری از دانشگاه تبریز:
    http://users.tabrizu.ac.ir/jmehri/Le...aftGRAPHIC.pdf

  13. #13

    نقل قول: برنامه نویسی گرافیک در C و ++C

    سلام

    به نظر من SDL هم برای این کارها بسیار خوب است.
    خیلی هم ساده است
    http://libsdl.org

  14. #14

    نقل قول: برنامه نویسی گرافیک در C و ++C

    نقل قول نوشته شده توسط pswin.pooya مشاهده تاپیک
    سلام
    جزوه دکتر مهری از دانشگاه تبریز:
    http://users.tabrizu.ac.ir/jmehri/Le...aftGRAPHIC.pdf
    سلام میشه این جزوه رو یک جا دیگه آپبود کنید؟ لینکش کار نمیکنه!

  15. #15
    کاربر جدید
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    يه جاي دنج
    پست
    27

    نقل قول: برنامه نویسی گرافیک در C و ++C

    سلام
    آقا نيما يه سوال دارم . ببخشيد اگه با اين همه توضيحاتي كه دادين ، شايد متوچه نشدم.

    مي خواستم بدونم تو محيط ساده ++c نميشه بوسيله خود كدها برنامه گرافيكي توليد كرد.
    منظورم رو برنامه هاييه كه استادا به عنوان پروژه مي دن
    مثل بازي minesweeper وينوز كه معمولا همه با استفاده از MfC يا .... مي نويسن
    برنامه هايي مثل همين بازي رو نميشه به صورت ساده نوشت؟
    به صورت win32 (اگه اشتباه نكنم)
    مثلا تو notepad كد بنويسي و بعد كامپايلش كني?
    اميدوارم تونسته باشم منظورم رو بگم.

  16. #16

    نقل قول: برنامه نویسی گرافیک در C و ++C

    @ Elias.F :
    اگر درست متوجه شده باشم منظور شما عدم استفاده از ابزار های گرافیکی است؛ که جواب سوال شما "بله" می باشد.
    در مورد برنامه نویسی با تولکیت هایی مانند MFC قبلاً در این انجمن (اگر اشتباه نکنم توسط جناب نیما) توضیحاتی ارائه شده است.

  17. #17

    نقل قول: برنامه نویسی گرافیک در C و ++C

    شما می توانید کل برنامه را در Notepad بنویسید و با کامپایلر نسخه command line کامپایل کنید. (همه کامپایلر ها شامل VC++‎‎‎ و gcc این قابلیت را دارند)

    اگر می خواهید برنامه شما اشکال گرافیکی داشته باشد در محیط کنسول (صفحه سیاه) نمی توانید اشکال گرافیکی را نمایش دهید. (به این در ویندوز می گویند Win32 console)

    اگر می خواهید اشکال گرافیکی داشته باشید (مثلا فقط یک دایره)، آن وقت در تابع main باید یک پنجره خالی ویندوز تولید کرده و با تابع گرافیکی ویندوز (کتابخانه GDI یا GDI+) یک دایره در پنجره رسم کنید. (به این شیوه می گویند win32 غیر کنسولی)
    چند نمونه مثال در همین تاپیک زده شده است.

    ضمنا برای چندمین مرتبه: شما با win32 تقریبا همه نوع برنامه می توانید بنویسید، فقط کدنویسی معمولا بیشتر می شود. MFC نیز از win32 استفاده می کند.

  18. #18

    نقل قول: برنامه نویسی گرافیک در C و ++C

    نقل قول نوشته شده توسط amsjavan مشاهده تاپیک
    سلام میشه این جزوه رو یک جا دیگه آپبود کنید؟ لینکش کار نمیکنه!
    این کتاب رو میتونید از آدرس زیر دزیافت کنید:

    http://opengl.persiangig.com/page.html

  19. #19

    نقل قول: برنامه نویسی گرافیک در C و ++C

    سلام
    لینکهای جالبی در این تاپیک گذاشتید.تشکر می کنم.
    من توی Dev کد زیر رو می زنم ارور می ده. اگه امکان داشته باشه منو راهنمایی کنید.



    #include windows.h
    //---------------------------------------------------------------------------

    INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)

    }

    MessageBox(NULL, L"Welcome to Win32 Application Development\n",
    NULL, NULL);

    return 0;
    {

    7 C:\Documents and Settings\jafari.d.ECED.000\Desktop\Untitled1.cpp
    cannot convert `const wchar_t*' to `const CHAR*' for argument `2' to `int MessageBoxA(HWND__*, const CHAR*, const CHAR*, UINT)'





    این همون کدی است که در یکی از لینکها نوشته بود...http://www.functionx.com/win32/Lesson04.htm
    آخرین ویرایش به وسیله Nima_NF : چهارشنبه 04 آذر 1388 در 12:45 عصر

  20. #20

    نقل قول: برنامه نویسی گرافیک در C و ++C

    کامپایلر شما در حالت یونیکد کامپایل نمی کند، باید آن را از طریق option مخصوص پروژه به Unicode تغییر دهید.

    برای اینکه در حالت معمولی (بدون یونیکد) برنامه درست کار کند، فقط کافیست پیشوند L را از رشته در MessageBox بر دارید.

    یا کلا همیشه برای رشته ها از TEXT استفاده کنید و به این شکل بنویسید:

    #include <tchar.h>

    MessageBox(NULL, TEXT("Welcome to Win32 Application Development\n"),
    NULL, NULL);

  21. #21

    نقل قول: برنامه نویسی گرافیک در C و ++C

    خیلی تشکرات فراوان می کنم از آقای نیما
    واقعا ممنونم..... برنامه کامپایل شد خیلی هم خوشحال شدم.
    فقط اگه میشه یه ذره در مورد یونیکد توضیح بدید و اینکه چطوری میشه تعییرش داد

  22. #22

    نقل قول: برنامه نویسی گرافیک در C و ++C

    برای یونیکد و اسکی به تاپیک FAQ زیر بروید و FAQشماره 6 و 7 را مطالعه کنید:

    https://barnamenevis.org/showthread.php?t=166590

  23. #23

    Question نقل قول: برنامه نویسی گرافیک در C و ++C

    سلام
    اگه سوال من تکراریه ببخشید
    آیا میشه توی dev بدون نصب کردن هیچ گونه lib یا چیز دیگه و فقط با استفاده از لایبرری های خود dev کار گرافیکی کرد یا نه
    اگه جواب مثبته لطفا یه دونه پیکسلو توی محیط گرافیکی رنگ کنید. یعنی کدشو بنویسید.
    با تشکر
    آخرین ویرایش به وسیله dariushvb2010 : یک شنبه 08 آذر 1388 در 16:23 عصر

  24. #24

    نقل قول: برنامه نویسی گرافیک در C و ++C

    نقل قول نوشته شده توسط dariushvb2010 مشاهده تاپیک
    سلام
    اگه سوال من تکراریه ببخشید
    آیا میشه توی dev بدون نصب کردن هیچ گونه lib یا چیز دیگه و فقط با استفاده از لایبرری های خود dev کار گرافیکی کرد یا نه
    اگه جواب مثبته لطفا یه دونه پیکسلو توی محیط گرافیکی رنگ کنید. یعنی کدشو بنویسید.
    با تشکر
    وقتی صحبت از DevC++‎‎ می کنید منظور پلتفرم ویندوز هست و وقتی از ویندوز صحبت می کنید مستقیم با غیر مستقیم از win32 صحبت می کند، پس باید به شکل نمونه مثال های همین تاپیک که با GDI و win32 هست اشکال گرافیکی رسم کنید.
    برای این کار می توانید از تابع SetPixel استفاده کنید.

    شما هر کاری بخواهید انجام دهید (حتی رسم یک پیکسل) در زبان برنامه برنامه نویسی C/C++‎‎ باید از کتابخانه های مختلف استفاده کنید، ضرورتی هم ندارد که شما کتابخانه ها را نصب کنید، در option پروژه آن را به صورت static به برنامه لینک کنید تا فقط همان قطعه کد به برنامه اضافه شود و نیازمند dll خاصی هم نباشید.
    دقت کنید که توابع گرافیکی GDI نیاز به نصب ندارند ( SetPixel برای همین کتابخانه هست) و در تمامی سیستم عامل های ویندوز وجود دارد.

    ضمنا خود DevC++‎ کتابخانه خاصی ندارد و از همان win32 و سایر کتابخانه های gcc استفاده می کند.

  25. #25

    نقل قول: برنامه نویسی گرافیک در C و ++C

    یه کتاب خوب برای برنامه نویسی(gui) با api در c


    اینم یه مثال

    #include <windows.h>

    int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
    PSTR szCmdLine, int iCmdShow)
    {
    MessageBox (NULL, TEXT ("Hello, Windows 98!"), TEXT ("HelloMsg"), 0) ;

    return 0;


    }
    http://www.amazon.com/Programming-Wi...9997002&sr=8-4


    آخرین ویرایش به وسیله r00tkit : شنبه 14 آذر 1388 در 10:15 صبح دلیل: syntax wrong

  26. #26
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    سابستان
    پست
    191

    نقل قول: برنامه نویسی گرافیک در C و ++C

    نقل قول نوشته شده توسط Nima_NF مشاهده تاپیک
    روش 3) روش ساده تر از مورد قبل، استفاده از کتابخانه های 32 بیتی آماده غیر استاندارد و معادل graphic.h می باشد که برخی از آن ها open source (کد باز) نیز می باشد، مانند WinBGI که می توانید فایل های آن را از صفحه زیر دانلود کرده و استفاده کنید:
    فایل های مربوط به WinBGI به همراه یک نمونه مثال

    توجه کنید که این کتابخانه از توابع گرافیکی win32 استفاده می کند و برای نمایش آن ها پنجره سیاه دیگری همانند کنسول باز می شود که قادر هستید در آن اشکال گرافیکی را همانند برنامه های ویندوز به سادگی برنامه های گرافیکی Turbo C رسم کنید.
    این روش روی dev جواب نمیده. اگه ممکنه یه مثال بزارید.

  27. #27
    کاربر دائمی آواتار mabbaszadegan
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    185

    نقل قول: برنامه نویسی گرافیک در C و ++C

    فقط میخواستم بابت لینکها و آموزشهای دوستان ، مخصوصا مدیریت محترم ، نیمای عزیز تشکر کنم

    من فک نمیکردم برنامه نویسی تو محیط ویژوال C اینقدر ساده باشه ، شما یه دید تازه ای از برنامه نویسی بهم دادید ، واقعا نمیدونم چطور تشکر کنم

    راستی اگه امکان داره ، آموزش رو ادامه بدید، اگه ممکنه برای MFC هم آموزش بدید و چندتا سورس بذارید

    خیلی خیلی ممنون

    موفق باشید

  28. #28

    نقل قول: برنامه نویسی گرافیک در C و ++C

    نقل قول نوشته شده توسط mabbaszadegan مشاهده تاپیک
    راستی اگه امکان داره ، آموزش رو ادامه بدید، اگه ممکنه برای MFC هم آموزش بدید و چندتا سورس بذارید
    خواهش می کنم، چون بحث وسیعی هست هدفم با این مثالها بیشتر این بود که یک با نحوه نوشتن برنامه های ساده آشنا شوید و سپس از منابع اصلی استفاده کنید.

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

  29. #29
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    ایران
    سن
    31
    پست
    110

    Question Graphics

    کسی اگر سایتی را برای دانلود کتابخانه های گرافیکی C++‎ را دارد به من بدهد لطفاً اگر می شود کمک کنید خیلی به آن نیاز دارم.

  30. #30
    کاربر دائمی آواتار bachebahal_1363
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    اینترنت
    پست
    336

    نقل قول: برنامه نویسی گرافیک در C و ++C

    سلام خدمت دوستان و مخصوصا آقا نیما
    واقعا ممنون از مطالب بسیار آموزندتون
    سوال من این هست که کارهای گرافیکی در سطح گرافیک دو بعدی رو می شه با GDI+ در C#‎‎‎ هم پیاده سازی کرد برای مثال می شه نرم افزاری مانند کرل رو در سطح گرافیک دوبعدی اون با C#‎‎‎ پیاده سازی نمود البته با همون performance قوی ؟

  31. #31

    نقل قول: برنامه نویسی گرافیک در C و ++C

    نقل قول نوشته شده توسط bachebahal_1363 مشاهده تاپیک
    سلام خدمت دوستان و مخصوصا آقا نیما
    واقعا ممنون از مطالب بسیار آموزندتون
    سوال من این هست که کارهای گرافیکی در سطح گرافیک دو بعدی رو می شه با GDI+ در C#‎‎‎‎‎ هم پیاده سازی کرد برای مثال می شه نرم افزاری مانند کرل رو در سطح گرافیک دوبعدی اون با C#‎‎‎‎‎ پیاده سازی نمود البته با همون performance قوی ؟
    کلا GDI+ چیزی نیست که بخواهید با آن performance بالایی داشته باشید، برای نرم افزارهای پیشرفته معمولا از openGl یا directX استفاده می کنند.

    چند نکته:
    - کلا GDI+ از GDI مقدار اندکی سرعت کمتری دارد.
    - GDI+ هم برای C++‎‎ وجود دارد و هم برای C#‎‎ و سایر زبان های دات نتی (خود کتابخانه با C/C++‎‎ نوشته شده است).
    - کلا برنامه نویسی گرافیک در سطح دوبعدی اگر با .Net باشد و اگر برنامه در سطح وسیع شود چون حافظه را چندان نمی توانید کنترل کنید، در صورت درست ننوشتن برنامه با منابع مشکل خواهید داشت، و در برخی موارد کاهش محسوس کارآیی خواهید داشت.

    البته اگر خوب برنامه را بنویسید و حافظه را تا جای ممکن در کنترل داشته باشید (با همان امکانات دات نتی و garbage collection ) می توانید کارآیی را بالا ببرید.


    نرم افزار Paint.NET را دانلود کنید و کارآیی را خودتان در این برنامه که کلا با C#‎‎ و قسمت اندکی با C++‎‎ هست برررسی کنید. سپس خودتان می توانید بهتر تصمیم بگیرید.
    تذکر: در بخش features بررسی کنید که کدام قابلیت ها با GDI هست و کدام با GDI+ . در ویندوز 7 بسیاری از آن ها با diretcx هست و برای تست باید از XP استفاده کنید.
    آخرین ویرایش به وسیله Nima_NF : یک شنبه 18 بهمن 1388 در 21:56 عصر

  32. #32
    کاربر دائمی آواتار bachebahal_1363
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    اینترنت
    پست
    336

    نقل قول: برنامه نویسی گرافیک در C و ++C

    خوب من جستجوهایی تو اینترنت کردم
    در مورد DirectX و OpenGL اصولا برای گرافیک های بازی استفاده شده
    اما آیا برای نرم افزار های گرافیکی (باز مثالم کرل ) هست از همین دو استفاده شده؟
    من می خوام نرم افزاری شبیه کرل بنویسم
    البته دانش برنامه نویسی بدی ندارم اما کار گرافیکی زیاد نکردم و البته بیشترش با GDI+ بوده
    برای همین می خوام Base کار رو خوب شروع کنم
    البته برای یاد گیری هم احتیاج دارم تا منابعم رو مشخص کنم
    می خوام بدونم شرکت هایی مثل Corel Corpration از چه ایده هایی و از چه تکنولوژی استفاده کرده تا بتونم به اون سمت حرکت کنم

  33. #33

    نقل قول: برنامه نویسی گرافیک در C و ++C

    نقل قول نوشته شده توسط bachebahal_1363 مشاهده تاپیک
    خوب من جستجوهایی تو اینترنت کردم
    در مورد DirectX و OpenGL اصولا برای گرافیک های بازی استفاده شده
    اما آیا برای نرم افزار های گرافیکی (باز مثالم کرل ) هست از همین دو استفاده شده؟
    من می خوام نرم افزاری شبیه کرل بنویسم
    البته دانش برنامه نویسی بدی ندارم اما کار گرافیکی زیاد نکردم و البته بیشترش با GDI+ بوده
    برای همین می خوام Base کار رو خوب شروع کنم
    البته برای یاد گیری هم احتیاج دارم تا منابعم رو مشخص کنم
    می خوام بدونم شرکت هایی مثل Corel Corpration از چه ایده هایی و از چه تکنولوژی استفاده کرده تا بتونم به اون سمت حرکت کنم
    پیشنهادی که در دو خط آخر به شما گفتم را انجام دادید؟
    مطمئنا خیر. به بخش features سایت نرم افزار paint.net بروید و امکانات را بخوانید و ببینید کجا با GDI و کجا با GDI+ و کجا DirectX هست، به شما جهت آشنایی اولیه کمک می کند.

    در ویندوز ویستا، همه پنجره ها با directX ایجاد و نمایش داده می شود.
    نرم افزارهای Corel، Autocad، photoshop از همین OpenGL و در برخی موارد از DirectX هست، کمتر بخشی با GDI هست.

    اگر می خواهید در سطح اولیه یک برنامه شبیه Corel بسازید، خیلی راحت با GDI+ می توانید بنویسید. کسانی که از OpenGL/DirectX استفاده می کنند برای مقاصد حرفه ای هست، چون برای نمایش تصویر و غیره شما از کارت گرافیک استفاده می کنید و فقط CPU در کار نیست. با GDI+ تقریبا همه پردازش ها بر عهده CPU هست و تقریبا کارت گرافیک شما بی استفاده هست.
    ضمنا دقت کنید که کار با GDI+ خیلی راحت تر هست و بحث دو مورد دیگر ذکر شده خیلی پیچیده تر هست.

  34. #34
    کاربر دائمی آواتار bachebahal_1363
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    اینترنت
    پست
    336

    نقل قول: برنامه نویسی گرافیک در C و ++C

    ممنون از پاسختون البته کمتر کسی هست که paint.net رو دانلود نکرده باشه
    بنده هم اینکار رو کرده بودم و ازش ایده های خوبی گرفته بودم
    البته توضیحات مربوط به قسمت های مختلفش در feauters نیست در بخش roadmap هست
    اما بنده می خواستم ببینم اختلاف GDI , GDI+ , OPENGL,DIRECTX در کجاست که شما راهنمایی بسیار خوبی کردین
    چون من عادت ندارم برنامه هامو بدون اینکه بدونم بهترین روش چیه بنویسم به همین جهت دنبال راه درست می گردم

  35. #35

    نقل قول: برنامه نویسی گرافیک در C و ++C

    خیلی ممنون از دوستان که این تاپیک به این خوبی رو ایجاد کردند ! من خوم تو این تاپیک با win bgi آشنا شدم !ولی دوستان یه سوال بسیار مهم : من توی محیط گرافیکی نمیتونم با دکمه های arrow key کار کنم ! یعنی هم در bgi سابق , هم در win bgi تو vC++‎6 ! یعنی هر کاری میکنم که با کدهای اسکی و توابع مثل getch و kbhit دکمه های arrow key رو تو یه برنامه گرافیکی بشناسونم موفق نمیشم در صورتی که هر دکمه دیگه ای تو اون برنامه کار میکنه ! و جالب اینجاست که فقط در محیط گرافیکی این مشکل پیش میاد و در محیط متنی هر 2 کامپایلر دکمه های arrow key به آسونی شناخته میشند !کسی میتونه به من کمک کنه ؟!

  36. #36

    نقل قول: برنامه نویسی گرافیک در C و ++C

    تو وبلاگ زیر هم مقاله ای درباره گرافیک در سی و سی پلاس پلاس هست
    www.magazinepro.mihanblog.com

  37. #37
    کاربر دائمی آواتار مصطفی ساتکی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    www.7khatcode.com
    پست
    1,193

    نقل قول: برنامه نویسی گرافیک در C و ++C

    با C#‎ می شه.شما برای انجام این پروژه های کاملاٌ سطح پایین کار می کنی . GDI و GDI+ اون موقع برات کار بردی نداره. در کرل و فتوشاپ داستان با گرافیک GDI زمین تا آسمون فرق داره. اول بایستی Plateform خودتونو ایجاد کنید. یعنی به فرض اگه بخای با یه ابزاری تغییر ایجاد کنی رو کل تصویر نیست دیگه اینجا تصویر segment. این داستان تو ویندوز ملموس نیست به Dos برمی گرده .زمانیکه اولین Game مونو تو Dos نوشتیم این تجربرو کسب کردیم.

  38. #38
    کاربر دائمی آواتار مصطفی ساتکی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    www.7khatcode.com
    پست
    1,193

    نقل قول: برنامه نویسی گرافیک در C و ++C

    آن performance بالایی داشته باشید، برای نرم افزارهای پیشرفته معمولا از openGl یا directX استفاده می کنند
    نمی دونم اینجا پیشرفته یعنی چی.زمانی پای OpenGLو ِDirectX به نرم افزار باز میشه که Render نیاز باشی.یعنی توالی فریم های که اگر در غیر اینصورت باشه تصویر پرش می کنه.در دو نرم افزار فوق ما پردازش داده رو در حافظه داریم که با Scanline یا همون دسترسی مستقیم به Ram قضیه حله.تنها چیزی که می مونه Segmentation که تصویر Buffer رو با Api Bitblt به یکباره در تصویر مقصد کپی نمی کن. در ابتدا View رو refresh می کن و سپس تصویر مقصد.علت Segmentation در View بالا در نمایش تصویر در Cpu های هرتز پایین و در تصویر بخاطر اینکه اگر تصویر دارای ابعاد بزرگی باشه انتقال یکباره حافظه زمانگیر تر.
    البته DirectX و OpenGl در 2 حالت FullScreen و معمولی در دسترسند که در حالت Full در رندر فرکانس بالاتری قابل دسترس می باشد.

  39. #39

    نقل قول: برنامه نویسی گرافیک در C و ++C

    نقل قول نوشته شده توسط Delphi_CAT مشاهده تاپیک
    نمی دونم اینجا پیشرفته یعنی چی.زمانی پای OpenGLو ِDirectX به نرم افزار باز میشه که Render نیاز باشی.
    از جمله نرم افزارهای پیشرفته که منظورم می باشد مثلا Adobe Photoshop هست. این برنامه نمای کاری شما (پنجره ای که عکس ها و لایه ها قرار می گیرد و بر روی آن کار می کنید) را در صورت وجود با شتاب دهنده های گرافیکی نمایش می دهد، لذا نمای کاری ، ترسیم و کار با brush سریع تر می شود، یعنی از GPU نیز همپای CPU برای افزایش کارآیی بهره می برد.

    ضمنا در نسخه extended جدید Photoshop که امکان نمایش جسم سه بعدی و نمای wire-frame نیز افزوده شده است و کلا بر پایه همین OpenGl و DirectX هست، لذا شما می توانید اجسام سه بعدی را نیز در نمای معمولی خود داشته باشید.

    جدیدا نیز نرم افزارهای open source و رایگان مانند Paint.Net نیز که با C#‎‎‎ هست، در نسخه های ویندوز vista و 7 ، قسمت های مختلف برنامه را با DirectX پیاده سازی کرده اند. (طبق قابلیت های پیش فرض سیستم عامل های جدید، که پیش فرضشان وجود حداقل سخت افزار با قابلیت پشتیبانی DirectX 9 هست)

    در کل خیلی از برنامه های دیگر هم بر پایه همین DirectX و OpenGl هستند، مثلا اکثر نرم افزارهای پخش عکس و فیلم رایج.


    پاورقی: دقت داشته باشید که دو مورد فوق در تخصص بنده هست و آگاهی کامل در مورد آن ها دارم.

  40. #40
    کاربر دائمی آواتار مصطفی ساتکی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    www.7khatcode.com
    پست
    1,193

    نقل قول: برنامه نویسی گرافیک در C و ++C

    فتوشاپ نرم افزار امروز و دیرزو نیست. ما با فتوشاپ تو win 3.1 هم کار کردیم .اگر به View اصلی فتوشاپ دقت داشته باشید این حرف نمی زنید. شاید یه effect خاصی تو View معمولی نمای جالبی نداشته باشه در اون صورت میشه از View طراحی شده با DirectX اون رو انجام داد تصویر حالصه باز هم در View معمولی قرار می گیره.View فتوشاپ به همین سادگی نیست که 3 سوت به DirectX تبدیل شه. Layering فتوشاپ هیچ ربطی به Directx نداره.تبدیلات در Buffer صورت می گیره در نهایت در View کپی. شرکت Adobe یه Library رو تهیه کرده که اکثر کارهای در اون به صورت inline (اسمبلی) کد خورده.اونا در Plateform شون از سالهای دور به فکر Optimum سازی بودند. در جواب افکت 3D .زمانی که می خاد DirectX شما رو نصب یا بروز کنه بهتون میگه که من برای این انجام افکت های 3D این کارو انجام میدم.فتوشاپ های نسخه پایین تر به DirectX نیازی ندارد. در ضمن مهندسی وDocumentation موجود برای فتوشاپ رو با Paint ویندوز مقایسه نکنید اون مثل کار در کلاس می مونه نه یه نرم افزار تجاری.
    پاورقی: دقت داشته باشید که دو مورد فوق در تخصص بنده هست و آگاهی کامل در مورد آن ها دارم.
    از قدیم گفتن من نمیگم درخت هرچه پربارتر سر بزیر تر.
    در ضمن شما بایستی کار در حد و اندازه های فتوشاپ داده باشید که اونوقت نظرات شما را بشه به راحتی با دانش Adobe مطابقت داد.

صفحه 1 از 4 123 ... آخرآخر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •