#include <stdio.h>
#include <stdlib.h>
int main(void)
{
void *data;
FILE *f;
r = gta_create_header(&header);
return 1;
}
r = gta_set_components(header, 3, components, NULL);
return 1;
}
r = gta_set_dimensions(header, 2, dimensions);
return 1;
}
data = malloc(gta_get_data_size(header));
if (!data) {
return 1;
}
for (y = 0; y < 128; y++) {
for (x = 0; x < 256; x++) {
unsigned char *pixel = gta_get_element(header, data, indices);
pixel[0] = x;
pixel[1] = 2 * y;
pixel[2] = 128;
}
}
r = gta_set_tag(gta_get_component_taglist(header, 0), "INTERPRETATION", "RED");
return 1;
}
r = gta_set_tag(gta_get_component_taglist(header, 1), "INTERPRETATION", "GREEN");
return 1;
}
r = gta_set_tag(gta_get_component_taglist(header, 2), "INTERPRETATION", "BLUE");
return 1;
}
f = fopen("rgb.gta", "wb");
if (!f) {
return 1;
}
r = gta_write_header_to_stream(header, f);
return 1;
}
r = gta_write_data_to_stream(header, data, f);
return 1;
}
if (fclose(f) != 0) {
return 1;
}
free(data);
gta_destroy_header(header);
f = fopen("rgb.gta", "rb");
if (!f) {
return 1;
}
r = gta_create_header(&header);
return 1;
}
r = gta_read_header_from_stream(header, f);
return 1;
}
if (gta_get_components(header) != 3
|| gta_get_component_type(header, 0) !=
GTA_UINT8
|| gta_get_component_type(header, 1) !=
GTA_UINT8
|| gta_get_component_type(header, 2) !=
GTA_UINT8) {
return 1;
}
if (gta_get_dimensions(header) != 2
|| gta_get_dimension_size(header, 0) != 256
|| gta_get_dimension_size(header, 1) != 128) {
return 1;
}
data = malloc(gta_get_data_size(header));
if (!data) {
return 1;
}
r = gta_read_data_from_stream(header, data, f);
return 1;
}
if (fclose(f) != 0) {
return 1;
}
free(data);
gta_destroy_header(header);
return 0;
}