~ruther/CTU-FEE-B0B35APO-Semestral-project

2c8dd4443d11b69e67d48574bacfb9a136ca22f9 — František Boháček 3 years ago dba42e3
feat: add image set and get pixel functions
2 files changed, 13 insertions(+), 0 deletions(-)

M image-viewer/include/image.h
M image-viewer/src/image.c
M image-viewer/include/image.h => image-viewer/include/image.h +4 -0
@@ 49,6 49,10 @@ typedef struct {
image_t image_create(char *path);
void image_destroy(image_t *image);

display_pixel_t image_get_pixel(image_t *image, uint16_t x, uint16_t y);

void image_set_pixel(image_t *image, uint16_t x, uint16_t y,
                     display_pixel_t pixel);
image_region_t image_region_create(uint16_t x, uint16_t y, uint16_t width, uint16_t height);

bool image_write_to_display(image_t *image, display_t *display, image_region_t region);

M image-viewer/src/image.c => image-viewer/src/image.c +9 -0
@@ 31,6 31,15 @@ image_region_t image_region_create(uint16_t x, uint16_t y, uint16_t width,
  return region;
}


display_pixel_t image_get_pixel(image_t *image, uint16_t x, uint16_t y) {
  return image->pixels[y * image->width + x];
}

void image_set_pixel(image_t *image, uint16_t x, uint16_t y,
                       display_pixel_t pixel) {
  image->pixels[y * image->width + x] = pixel;
}
double get_scale_factor(uint16_t w, uint16_t h, image_region_t display_region) {
  double scale_x = (double)display_region.width / (double)w;
  double scale_y = (double)display_region.height / (double)h;

Do not follow this link