当前位置: 代码迷 >> C语言 >> VC里的C语言有绘图函数吗
  详细解决方案

VC里的C语言有绘图函数吗

热度:192   发布时间:2008-04-22 13:34:34.0
VC里的C语言有绘图函数吗
请大家说说看
搜索更多相关的解决方案: C语言  函数  绘图  

----------------解决方案--------------------------------------------------------
有,可以看《Programmin Windows》,书中有介绍。或者看MSDN也行!自己动手,丰衣足食!
----------------解决方案--------------------------------------------------------
有呀
CDC 可以
----------------解决方案--------------------------------------------------------
GDI函数
----------------解决方案--------------------------------------------------------
/******************************************************************************
                          本程序主要目的
                  在一个窗口中显示一个外部BMP文件
                  显示BMP文件具体实现代码在函数 outBmpFile里
******************************************************************************/
#include <windows.h>

int  cxClient, cyClient ;
HINSTANCE hInst ;

int outBmpFile(HINSTANCE hInstance, HWND hwnd, char *filename, int x, int y) ;
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                   PSTR szCmdLine, int iCmdShow)
{
    static TCHAR szAppName[] = TEXT ("SineWave") ;
    MSG           msg ;
    WNDCLASS      wndclass;
    HWND hwnd ;

    wndclass.style        = CS_HREDRAW | CS_VREDRAW ;
    wndclass.lpfnWndProc  = WndProc ;
    wndclass.cbClsExtra   = 0 ;
    wndclass.cbWndExtra   = 0 ;
    wndclass.hInstance    = hInstance ;
    wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
    wndclass.hCursor      = LoadCursor (NULL, IDC_ARROW) ;
    wndclass.hbrBackground= (HBRUSH) GetStockObject (LTGRAY_BRUSH) ;
    wndclass.lpszMenuName  = NULL ;
    wndclass.lpszClassName = szAppName ;
    hInst = hInstance ;
    if (!RegisterClass (&wndclass))
    {
            MessageBox (  NULL, TEXT ("Program requires Windows NT!"),
                   szAppName, MB_ICONERROR) ;
                   return 0 ;
    }

    hwnd = CreateWindow ( szAppName, TEXT ("窗口母本程序"),
                          WS_OVERLAPPEDWINDOW,
                           10, 10,
                           800, 600,
                           NULL, NULL, hInstance, NULL) ;

    ShowWindow (hwnd, iCmdShow) ;
    UpdateWindow (hwnd) ;


    while (GetMessage (&msg, NULL, 0, 0))
    {
            TranslateMessage (&msg) ;
            DispatchMessage (&msg) ;
    }

    return msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    HDC         hdc ;
    PAINTSTRUCT ps ;


    switch (message)
    {
    case    WM_CREATE:
            return 0 ;
    case    WM_SIZE:
            cxClient = LOWORD (lParam) ;
            cyClient = HIWORD (lParam) ;

            InvalidateRect (hwnd, NULL, FALSE) ;
            return 0;
    case    WM_PAINT:
            hdc = BeginPaint (hwnd, &ps) ;

            EndPaint (hwnd, &ps) ;

            return 0 ;

    case    WM_KEYUP:
            exit(0) ;
            return 1 ;
    case    WM_LBUTTONUP:
            outBmpFile(hInst, hwnd, "matter.bmp", 20, 50) ;
            return 0 ;

    case    WM_DESTROY:
            PostQuitMessage (0) ;
            return 0 ;

    }

    return DefWindowProc (hwnd, message, wParam, lParam) ;

}

//在坐标为x,y显示一个文件名为filename的BMP文件
int outBmpFile(HINSTANCE hInstance, HWND hwnd, char *filename, int x, int y)
{
    HDC    hDC;
    HBITMAP    hBitmap;
    hDC=GetDC(hwnd);
    hBitmap=(HBITMAP)LoadImage(hInst,"matter.bmp",IMAGE_BITMAP,
                    0, 0, LR_DEFAULTCOLOR|LR_LOADFROMFILE);
    DrawState(hDC,NULL,NULL,(LPARAM)hBitmap,0,x,y,0,0,DST_BITMAP);
}
----------------解决方案--------------------------------------------------------
API?汉...
----------------解决方案--------------------------------------------------------
API怎么了??不就慢点么。其他没什么不好啊?
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
api速度还好了...要不你用c++的mfc速度更慢..解决小问题是够了..
----------------解决方案--------------------------------------------------------
是哪个说API慢的?你不知道C所有的库函数要么是源码,要么都是用API实现的么……
----------------解决方案--------------------------------------------------------
  相关解决方案