Я пытаюсь создать приложение лупы в .net, используя Windows Magnification API. У меня почти все работает, за исключением фактической установки уровня увеличения (по умолчанию 100%). Проблема в том, что я не могу найти ни одного примера в сети, а вся документация по API — это код C++. Это конкретная функция, с которой у меня проблемы.
bool SetMagFactor(float magfactor)
{
MAGTRANSFORM matrix;
memset(&matrix, 0, sizeof(matrix));
matrix.v[0][0] = magfactor;
matrix.v[1][1] = magfactor;
matrix.v[2][2] = 1.0f;
return MagSetWindowTransform(hwndMag, &matrix);
}
Структура MAGTRANSFORM определяется следующим образом:
typedef struct tagMAGTRANSFORM {
float v[3] [3];
} MAGTRANSFORM, *PMAGTRANSFORM;
Самая запутанная часть этого — это memset — я не уверен, что он делает или каков его эквивалент в .NET, но что также сбивает с толку, так это многомерный массив/матрица и то, как я буду обрабатывать это в .NET.
Любая помощь будет принята с благодарностью.