2

現在、ピクセル操作を使用していくつかのことを試みており、SDL_Surface のピクセル形式を設定したいと考えています。ここでの問題は、SDL_image.h で画像を読み込んでいることです。したがって、次のようなサーフェスからテクスチャを作成する必要があります。

surface = IMG_Load(filePath);
texture = SDL_CreateTextureFromSurface(renderer, surface);

したがって、次の関数を使用できません。使用したい、または使用できますか?:

texture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STATIC, 640, 480);

問題は、ピクセルをいじれるように SDL_PixelFormat を設定したいということです。これを行い、サーフェスに基づいてテクスチャを作成するにはどうすればよいですか?

4

1 に答える 1

3

SDL2 API は次の機能を提供しますSDL_ConvertSurface

SDL_Surface* SDL_ConvertSurface(SDL_Surface*           src,
                                const SDL_PixelFormat* fmt,
                                Uint32                 flags)

あなたはできるはずです

surface = IMG_Load(filePath);
// Call SDL_ConvertSurface to set the pixel format of the surface you have created.
texture = SDL_CreateTextureFromSurface(renderer, surface);

参照: https://wiki.libsdl.org/SDL_ConvertSurface

于 2015-02-16T09:31:04.153 に答える