Я пытаюсь создать приложение лупы в .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 также.
Любая помощь будет принята с благодарностью.