|
@@ -40,10 +40,10 @@ void counter_create(unsigned long number, FILE *fd) {
|
|
|
digits[i] = nth_digit(number, digits_count-1-i);
|
|
|
|
|
|
for (int y = 0; y < DIGIT_HEIGHT; y++) {
|
|
|
- rows[y] = malloc(width * 4);
|
|
|
+ rows[y] = malloc(width);
|
|
|
|
|
|
for (int i = 0; i < digits_count; i++)
|
|
|
- memcpy(rows[y] + (i * DIGIT_WIDTH * 4), digits_data[digits[i]][y], DIGIT_WIDTH * 4);
|
|
|
+ memcpy(rows[y] + i * DIGIT_WIDTH, digits_data[digits[i]][y], DIGIT_WIDTH);
|
|
|
}
|
|
|
|
|
|
png_init_io(png, fd);
|
|
@@ -53,11 +53,13 @@ void counter_create(unsigned long number, FILE *fd) {
|
|
|
width,
|
|
|
DIGIT_HEIGHT,
|
|
|
8,
|
|
|
- PNG_COLOR_TYPE_RGBA,
|
|
|
+ PNG_COLOR_TYPE_PALETTE,
|
|
|
PNG_INTERLACE_NONE,
|
|
|
PNG_COMPRESSION_TYPE_BASE,
|
|
|
PNG_FILTER_TYPE_BASE
|
|
|
);
|
|
|
+ png_set_PLTE(png, info, PLTE_data, PLTE_SIZE);
|
|
|
+ png_set_tRNS(png, info, tRNS_data, TRNS_SIZE, NULL);
|
|
|
png_set_compression_level(png, 1);
|
|
|
png_write_info(png, info);
|
|
|
png_write_image(png, rows);
|