Небольшие вопросики по графике. "SetDIBitsToDevice" чисто для понимания

Собственно нужная мне функция(для 1,2 пункта):

int SetDIBitsToDevice(
  HDC hdc,                 // дескриптор DC
  int XDest,               // x-коорд. верхнего левого угла приемника
  int YDest,               // y-коорд. верхнего левого угла приемника
  DWORD dwWidth,           // ширина прямоугольника источника
  DWORD dwHeight,          // высота прямоугольника источника
  int XSrc,                // x-коорд. нижнего левого угла источника
  int YSrc,                // y-коорд. нижнего левого угла источника
  UINT uStartScan,         // первая строка развертки в массиве
  UINT cScanLines,         // число строк развертки
  CONST VOID *lpvBits,     // массив битов DIB
  CONST BITMAPINFO *lpbmi, // информация о точечном рисунке
  UINT fuColorUse          // RGB или индексы палитры
);
  1. Зачем нужны координаты левого нижнего угла в функции SetDIBitsToDevice? А точнее XSrc и YSrc. У нас же есть координаты правого верхнего угла + ширина\высота и вообще почему левого угла? разве квадрат строиться не на основе левого верхнего и нижнего правого углов? Видимо координаты левого нижнего угла нужны для чего-то другого.(как написано "источник" но почему левый нижний? все равно не понятно) Для чего?

  2. Я так же часто вижу у некоторых функций преписку в конце ToDevice (на устройство). О каком устройстве идёт речь? Устройство комп,устройство цпу\гпу,устройство монитор? не понимаю T-T

  3. На самом деле я чет всё читаю о "Аппаратно-зависимые и аппаратно-независимые растры" и как я понял,что: "аппаратно-зависимые" это я использую допустим Bit-bit,оно создаёт в памяти изображение строго привязывая к моему устройству(монитору),но без возможности менять палитру т.к. используется палитра моего монитора и се. А "аппаратно-независимые растры" я использую SetDIBitsToDevice, можно расширенно редактировать(палитру), допустим скомпилировал и пошёл пользоваться на других компах,а так же можно сохранить в виде файла и отображать. Я правильно всё понял?

(речь в 3ем утверждении только о "Аппаратно-зависимые и аппаратно-независимые растры"),предположим что всё у меня идёт на всём.Я скорее пытаюсь понять что из себя представляют эти понятия и правильно ли я понял.

Если я написал полную ересь и очевидные вещи,извиняюсь. Для меня не очевидно и не совсем понятно,а так же я пытаюсь понять и вступить в ряды просветлённых :)


Ответы (0 шт):