/* * getimage — сохранить прямоугольник экрана в буфер bitmap. * Формат: uint16 width, uint16 height, затем w*h байт (по строкам). * Чтение raw в одной W3-скобке. */ #include "_bgi.h" void getimage(int left, int top, int right, int bottom, void *bitmap) { uint8_t *p = (uint8_t *)bitmap; int w = right - left + 1; int h = bottom - top + 1; int x, y; if (w <= 0 || h <= 0) return; *p++ = (uint8_t)w; *p++ = (uint8_t)(w >> 8); *p++ = (uint8_t)h; *p++ = (uint8_t)(h >> 8); _bgi_begin(); for (y = 0; y < h; y++) for (x = 0; x < w; x++) *p++ = (uint8_t)_bgi_read_raw(left + x, top + y); _bgi_end(); }