Спрайтовая анимация - C (СИ)

Узнай цену своей работы

Формулировка задачи:

помогите никак не работает написанная мной функция (все по методичке сделано) должна грузить рисунок из файла на форму...
...
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;
...
}
...
п.с. ошибка "error C2664: LoadImageW: невозможно преобразовать параметр 2 из "CHAR *" в "LPCWSTR""

Решение задачи: «Спрайтовая анимация»

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, которая отвечает за отображение спрайта на экране. В качестве параметров функции указаны:

  1. hdc - дескриптор устройства контекста (handle to a device context)
  2. LPCWSTR - строка, указывающая на имя файла спрайта (const wide character string)
  3. int x - координата X для отображения спрайта (integer)
  4. int y - координата Y для отображения спрайта (integer)
  5. int Width - ширина спрайта (integer)
  6. int Height - высота спрайта (integer)
  7. DWORD rop - комбинация операций для битового вывода (bitwise operation) В конце кода функция вызывается с аргументами:
  8. hdc - дескриптор устройства контекста (handle to a device context)
  9. Lfon.bmp`` - строка, указывающая на имя файла спрайта (const wide character string)
  10. 0 - координата X для отображения спрайта (integer)
  11. 0 - координата Y для отображения спрайта (integer)
  12. 1000 - ширина спрайта (integer)
  13. 1000 - высота спрайта (integer)
  14. SRCCOPY - комбинация операций для битового вывода (bitwise operation) В результате выполнения функции спрайт с именем fon.bmp будет отображен на экране в координатах (0,0) с размерами (1000x1000) пикселей.

Оцени полезность:

14   голосов , оценка 4.214 из 5