1 #include <SFML/Graphics/Image.hpp>
8 #include <badge/ui/display.h>
10 double square(double x
) { return x
* x
; }
12 int main(int argc
, char *argv
[]) {
14 std::cerr
<< "Usage: " << argv
[0] << " [ FILE ]\n";
19 if(!img
.loadFromFile(argv
[1])) {
20 std::cerr
<< "Could not open file.\n";
24 if(img
.getSize().x
!= BADGE_DISPLAY_WIDTH
||
25 img
.getSize().y
!= BADGE_DISPLAY_HEIGHT
) {
26 std::cerr
<< "Image must be " << BADGE_DISPLAY_WIDTH
<< "x" << BADGE_DISPLAY_HEIGHT
<< " pixels.\n";
30 badge_framebuffer fb
= { { { 0 } } };
32 for(unsigned x
= 0; x
< BADGE_DISPLAY_WIDTH
; ++x
) {
33 for(unsigned y
= 0; y
< BADGE_DISPLAY_HEIGHT
; ++y
) {
34 sf::Color c
= img
.getPixel(x
, y
);
36 if(std::sqrt(0.241 * square(c
.r
/ 255.) + 0.691 * square(c
.g
/ 255.) + 0.068 * square(c
.b
/ 255.)) < 0.5) {
37 badge_framebuffer_pixel_on(&fb
, x
, y
);
42 std::ofstream
out("vanity.dat", std::ios::out
| std::ios::binary
);
45 out
.write(static_cast<char const *>(static_cast<void const *>(&fb
)), sizeof(fb
));
This page took 0.063118 seconds and 5 git commands to generate.