/* Convert a color to SDL's structure format */ SDL_Color BrogueDisplay_colorToSDLColor(BROGUE_DRAW_COLOR *color) { SDL_Color ret; ret.r = colorFloat2Byte(color->red); ret.g = colorFloat2Byte(color->green); ret.b = colorFloat2Byte(color->blue); return ret; }
/* Convert a color to SDL's integer format */ int BrogueDisplay_colorToSDL(SDL_Surface *surface, BROGUE_DRAW_COLOR *color) { int ret; ret = SDL_MapRGBA(surface->format, colorFloat2Byte(color->red), colorFloat2Byte(color->green), colorFloat2Byte(color->blue), 255); return ret; }
void Film::generateImgVector(vector<unsigned char> & image) { int length = width * height * 4; int r, c; int i; for ( r = 0 ; r < height; r ++) { for (c = 0; c < width; c++) { i = r * width * 4 + c * 4; Color cur_color(getColorAt(r,c)); image.at(i) = colorFloat2Byte(cur_color(0)); //r image.at(i+1) = colorFloat2Byte(cur_color(1)); //g image.at(i+2) = colorFloat2Byte(cur_color(2)); //b image.at(i+3) = 255; //a } } }