32 lines
724 B
C++
32 lines
724 B
C++
#include "image.h"
|
|
|
|
namespace Image
|
|
{
|
|
void threshold(SDL_Surface *image, int lowerBound, int upperBound)
|
|
{
|
|
int x, y;
|
|
for (int i = 0; i < image->w * image->h; ++i)
|
|
{
|
|
int gray = GRAY(((uint32_t*)image->pixels)[i]);
|
|
if (gray > lowerBound && gray < upperBound)
|
|
((uint32_t*)image->pixels)[i] = 0xffffffff;
|
|
else
|
|
((uint32_t*)image->pixels)[i] = 0xff000000;
|
|
//gray | (gray << 8) | (gray << 16);
|
|
|
|
}
|
|
}
|
|
|
|
SDL_Surface *copySurface(SDL_Surface *s)
|
|
{
|
|
SDL_Surface *copy = SDL_CreateRGBSurface(SDL_SWSURFACE, s->w, s->h,
|
|
s->format->BitsPerPixel,
|
|
s->format->Rmask, s->format->Gmask,
|
|
s->format->Bmask, s->format->Amask);
|
|
SDL_BlitSurface(s, NULL, copy, NULL);
|
|
return copy;
|
|
}
|
|
|
|
|
|
}
|