29 std::vector<ImageData> images;
55 int outWidth = totalWidth;
56 int outHeight = maxHeight;
57 int outChannels = channels;
58 size_t outSize = (size_t)outWidth * outHeight * outChannels;
61 std::vector<unsigned char> output(outSize, 0);
65 for (
const auto& img : images) {
66 for (
int y = 0; y < img.height; ++y) {
68 unsigned char* dstRow = &output[(y * outWidth + xOffset) * outChannels];
70 const unsigned char* srcRow = &img.data[y * img.width * img.channels];
72 std::memcpy(dstRow, srcRow, (
size_t)img.width * outChannels);