Windows倍率API.純列
-
07-07-2019 - |
質問
私が作り出してしまおうというものは、拡大のアプリです。ネブックボタンをクリック倍率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-お使いいただくことによっては何に相当します。純が、どのようにも混乱の多次元配列マトリクスをどう取り扱います。純ます。
自うぞよろしくお願い申し上げます。
解決
のmemsetは清算のマトリクス。する必要がなくないことです。います。疑いの 最も簡単な 方法を定義する構造体のC#う指定の各要素を個別:
public struct MagTransform
{
readonly float m00;
readonly float m10;
readonly float m20;
readonly float m01;
readonly float m11;
readonly float m21;
readonly float m02;
readonly float m12;
readonly float m22;
public MagTransform(float magnificationFactor) : this()
{
m00 = magnificationFactor;
m11 = magnificationFactor;
m22 = 1.0f;
}
}
する"を参照してください指定のレイアウトが私たいな温泉に整列化.
ご覧の通り、私の想定値にしたいのサンプルコードです。がありますについての警告を未利用価値が、それでも大丈夫です。
す え 固定バッファではなく、安全でないコー---思いものです。基本的にはだけ9浮かぶ.
所属していません StackOverflow