可運行例如
通過像素使用SDL_RenderDrawPoint
在屏幕上繪製一個對角線紅線像素。
#include <stdlib.h>
#include <SDL2/SDL.h>
#define WINDOW_WIDTH 600
int main(void) {
SDL_Event event;
SDL_Renderer *renderer;
SDL_Window *window;
int i;
SDL_Init(SDL_INIT_VIDEO);
SDL_CreateWindowAndRenderer(WINDOW_WIDTH, WINDOW_WIDTH, 0, &window, &renderer);
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 0);
SDL_RenderClear(renderer);
SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);
for (i = 0; i < WINDOW_WIDTH; ++i)
SDL_RenderDrawPoint(renderer, i, i);
SDL_RenderPresent(renderer);
while (1) {
if (SDL_PollEvent(&event) && event.type == SDL_QUIT)
break;
}
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
return EXIT_SUCCESS;
}
編譯:
gcc -std=c89 -Wextra -pedantic-errors -o 'main.out' 'main.c' -lSDL2
測試上libsdl 2.0.2,Ubuntu的15.10。
如果您想一次設置一個大的矩形像素,例如整個屏幕或精靈,使用SDL_Texture
+ SDL_RenderCopy
和可能的SDL_TEXTUREACCESS_STREAMING
,因爲這將更快。
感謝:在例子! Prolly應該看到那些;是愚蠢的。抱歉。 – Jordan