Спрайтовая анимация - C (СИ)
Формулировка задачи:
помогите никак не работает написанная мной функция (все по методичке сделано) должна грузить рисунок из файла на форму...
п.с. ошибка "error C2664: LoadImageW: невозможно преобразовать параметр 2 из "CHAR *" в "LPCWSTR""
... void Sprite(HDC hdc, CHAR* Path, int x, int y, int Width, int Height, DWORD rop) { HBITMAP bmp = (HBITMAP) LoadImage(NULL, Path, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); HDC memdc = CreateCompatibleDC(hdc); SelectObject(memdc, bmp); BitBlt(hdc, x, y, Width, Height, memdc, 0, 0, rop); } LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { ... case WM_PAINT: hdc = BeginPaint(hWnd, &ps); // TODO: добавьте любой код отрисовки... Sprite(hdc,"fon.bmp",0,0,1000,1000,SRCCOPY); EndPaint(hWnd, &ps); break; ... } ...
Решение задачи: «Спрайтовая анимация»
textual
Листинг программы
void Sprite(HDC hdc, LPCWSTR, int x, int y, int Width, int Height, DWORD rop) ... Sprite(hdc,L"fon.bmp",0,0,1000,1000,SRCCOPY);
Объяснение кода листинга программы
В данном коде представлен прототип функции Sprite
, которая отвечает за отображение спрайта на экране. В качестве параметров функции указаны:
hdc
- дескриптор устройства контекста (handle to a device context)LPCWSTR
- строка, указывающая на имя файла спрайта (const wide character string)int x
- координата X для отображения спрайта (integer)int y
- координата Y для отображения спрайта (integer)int Width
- ширина спрайта (integer)int Height
- высота спрайта (integer)DWORD rop
- комбинация операций для битового вывода (bitwise operation) В конце кода функция вызывается с аргументами:hdc
- дескриптор устройства контекста (handle to a device context)L
fon.bmp`` - строка, указывающая на имя файла спрайта (const wide character string)0
- координата X для отображения спрайта (integer)0
- координата Y для отображения спрайта (integer)1000
- ширина спрайта (integer)1000
- высота спрайта (integer)SRCCOPY
- комбинация операций для битового вывода (bitwise operation) В результате выполнения функции спрайт с именемfon.bmp
будет отображен на экране в координатах (0,0) с размерами (1000x1000) пикселей.