/* * imagesize — размер буфера под образ (left,top)-(right,bottom) в байтах: * 4 (заголовок w,h) + w*h (по байту на пиксель в режиме 256). * * Результат 16-бит unsigned (как в Turbo-C): образы ≥64 КБ не влезают. * Произведение w*h считаем в unsigned — для валидных (<64 КБ) образов * умещается точно; без 32-бит. */ #include "_bgi.h" unsigned imagesize(int left, int top, int right, int bottom) { int w = right - left + 1; int h = bottom - top + 1; if (w <= 0 || h <= 0) return 0; return (unsigned)4 + (unsigned)w * (unsigned)h; }