Add Image RGBA Flip func

This commit is contained in:
2026-01-14 18:25:05 +01:00
parent 888db35079
commit 7bc7c60a15
3 changed files with 16 additions and 0 deletions

View File

@@ -12,5 +12,6 @@ CTRFF_API void RGBA2RGB565(ctrff::u16 *out, const std::vector<ctrff::u8> &img,
const int &w, const int &h);
CTRFF_API std::vector<ctrff::u8> DownscaleImage(
const std::vector<ctrff::u8> &img, int w, int h, int scale);
CTRFF_API void Flip(std::vector<u8> &buf, int w, int h);
CTRFF_API ctrff::u32 TileIndex(const int &x, const int &y, const int &w);
} // namespace ctrff

View File

@@ -58,6 +58,7 @@ SOFTWARE.
#include <fstream>
#include <iostream>
#include <memory>
#include <numeric>
#include <sstream>
#include <stdexcept>
#include <string>

View File

@@ -87,6 +87,20 @@ CTRFF_API std::vector<ctrff::u8> ctrff::DownscaleImage(
return res;
}
CTRFF_API void ctrff::Flip(std::vector<ctrff::u8> &buf, int w, int h) {
std::vector<ctrff::u8> tmp = buf;
for (int x = 0; x < w; x++) {
for (int y = 0; y < h; y++) {
int src = (y * w + x) * 4;
int dst = ((h - 1 - y) * w + x) * 4;
buf[dst + 0] = tmp[src + 0];
buf[dst + 1] = tmp[src + 1];
buf[dst + 2] = tmp[src + 2];
buf[dst + 3] = tmp[src + 3];
}
}
}
CTRFF_API void ctrff::String2U16(ctrff::u16 *res, const std::string &src,
size_t max) {
/// GOT FORCED TO REPLACE std::wstring_convert by some