Core: Remove ImageWrite and get rid of -Wmissing-declarations warnings

This commit is contained in:
Léo Lam
2020-12-16 15:34:50 +01:00
parent eafe005672
commit 0ad2f3da45
10 changed files with 57 additions and 103 deletions

View File

@ -65,4 +65,29 @@ bool SavePNG(const std::string& path, const u8* input, ImageByteFormat format, u
return true;
}
bool ConvertRGBAToRGBAndSavePNG(const std::string& path, const u8* input, u32 width, u32 height,
int stride)
{
const std::vector<u8> data = RGBAToRGB(input, width, height, stride);
return SavePNG(path, data.data(), ImageByteFormat::RGB, width, height);
}
std::vector<u8> RGBAToRGB(const u8* input, u32 width, u32 height, int row_stride)
{
std::vector<u8> buffer;
buffer.reserve(width * height * 3);
for (u32 y = 0; y < height; ++y)
{
const u8* pos = input + y * row_stride;
for (u32 x = 0; x < width; ++x)
{
buffer.push_back(pos[x * 4]);
buffer.push_back(pos[x * 4 + 1]);
buffer.push_back(pos[x * 4 + 2]);
}
}
return buffer;
}
} // namespace Common