是否有人知道在Windows上使用桌面窗口管理器或與DirectX組合使用仿射變換的方法?使用DWM/DX將仿射變換應用於窗口?
想想Windows 7中的Flip3D - 如果我想在桌面上進行這樣的轉換。
澄清: 問題是關於僅啓用DWM的窗口。因此Windows> = 7
是否有人知道在Windows上使用桌面窗口管理器或與DirectX組合使用仿射變換的方法?使用DWM/DX將仿射變換應用於窗口?
想想Windows 7中的Flip3D - 如果我想在桌面上進行這樣的轉換。
澄清: 問題是關於僅啓用DWM的窗口。因此Windows> = 7
微軟有內built-in effects
一個2D affine transform effect從的documentation一個例子C++將是:
ComPtr<ID2D1Effect> affineTransformEffect;
m_d2dContext->CreateEffect(CLSID_D2D12DAffineTransform, &affineTransformEffect);
affineTransformEffect->SetInput(0, bitmap);
D2D1_MATRIX_3X2_F matrix = D2D1::Matrix3x2F(0.9f, -0.1f, 0.1f, 0.9f, 8.0f, 45.0f);
affineTransformEffect->SetValue(D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX, matrix);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(affineTransformEffect.Get());
m_d2dContext->EndDraw();
哪個執行以下矩陣運算:
有一個爲Win95/XP/Win2000調用編寫的庫編輯「madotate」。這是一個開源的C++ API,用於在Windows上進行3D翻轉等。如果它還沒有適應DWM,可能不會太多。
你爲什麼認爲這是一個開源的圖書館?據我所知,這是一個封閉的源碼軟件。找不到該名稱的「開放源代碼庫」的任何參考。 –
我有幾年前下載的圖書館資源。讓我看看我能否找到鏈接。 – user5976242
我最初是從soureforge下載的。這可能導致我假設開源。我沒有看到文件中的開源許可證。但是,您正在尋找的技術很可能在這裏。 http://www.ksky.ne.jp/~seahorse/mtate2/file/mtate20202src.lzh – user5976242
我所需要的不是在圖像上轉換,而是在窗口上轉換。 –
這個賞金不應該被自動授予。答案與問題無關! –
然而,你接受了答案...... –