Небольшие вопросики по графике. "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 или индексы палитры
);
Зачем нужны координаты левого нижнего угла в функции
SetDIBitsToDevice? А точнееXSrcиYSrc. У нас же есть координаты правого верхнего угла + ширина\высота и вообще почему левого угла? разве квадрат строиться не на основе левого верхнего и нижнего правого углов? Видимо координаты левого нижнего угла нужны для чего-то другого.(как написано "источник" но почему левый нижний? все равно не понятно) Для чего?Я так же часто вижу у некоторых функций преписку в конце
ToDevice(на устройство). О каком устройстве идёт речь? Устройство комп,устройство цпу\гпу,устройство монитор? не понимаю T-TНа самом деле я чет всё читаю о "Аппаратно-зависимые и аппаратно-независимые растры" и как я понял,что: "аппаратно-зависимые" это я использую допустим
Bit-bit,оно создаёт в памяти изображение строго привязывая к моему устройству(монитору),но без возможности менять палитру т.к. используется палитра моего монитора и се. А "аппаратно-независимые растры" я используюSetDIBitsToDevice, можно расширенно редактировать(палитру), допустим скомпилировал и пошёл пользоваться на других компах,а так же можно сохранить в виде файла и отображать. Я правильно всё понял?
(речь в 3ем утверждении только о "Аппаратно-зависимые и аппаратно-независимые растры"),предположим что всё у меня идёт на всём.Я скорее пытаюсь понять что из себя представляют эти понятия и правильно ли я понял.
Если я написал полную ересь и очевидные вещи,извиняюсь. Для меня не очевидно и не совсем понятно,а так же я пытаюсь понять и вступить в ряды просветлённых :)