C++ 使用SDL显示RGB图像数据

1、包含必要的头文件。

 
#include 
extern "C"
{
#include "SDL.h"
#include "SDL_thread.h"
#include "SDL_ttf.h"
#include "SDL_video.h"
#include "SDL_render.h"
#include "SDL_image.h"
}
#pragma comment(lib,"SDL2.lib")

2、创建一个SDL窗口和渲染器对象,以便在屏幕上显示图像。

SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER);
SDL_Window* window = SDL_CreateWindow("RGB Image", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, width, height, SDL_WINDOW_SHOWN);
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);

3、创建一个SDL_Surface对象,用于存储RGB图像数据。

SDL_Surface* surface = SDL_CreateRGBSurfaceFrom(rgbData, width, height, 24, width * 3, 0x000000FF, 0x0000FF00, 0x00FF0000, 0);

4、创建一个SDL_Texture对象,并从表面复制数据到纹理中。

SDL_Texture* texture = SDL_CreateTextureFromSurface(renderer, surface);

5、清空渲染器,并将纹理复制到渲染器中。

SDL_RenderClear(renderer);
SDL_RenderCopy(renderer, texture, NULL, NULL);
SDL_RenderPresent(renderer);

你可能感兴趣的:(c++,ffmpeg,开发语言)