0
我正在嘗試調整DirectX紋理的大小並將其放置在窗口的右上角。我使用的是精靈拉絲紋理,這裏是我的代碼(我用SharpDX):調整大小和定位SharpDX精靈
albumArtSprite.Begin();
NativeMethods.RECT rect;
NativeMethods.GetClientRect(device.CreationParameters.HFocusWindow, out rect);
float targetDimensions = 150f;
var matrix = Matrix.Scaling(targetDimensions/albumArtInformation.Width, targetDimensions/albumArtInformation.Height, 0f) *
Matrix.Translation(rect.Width - albumArtInformation.Width - 10f, 10f, 0f);
albumArtSprite.Transform = matrix;
albumArtSprite.Draw(albumArtTexture, new ColorBGRA(0xFFFFFFFF));
albumArtSprite.End();
出於某種原因,我變得非常奇怪的結果,如圖像不是,我希望它是哪個位於窗口的右上角,X軸和Y軸的偏移量爲10。這是我第一次使用DirectX,所以我不能100%確定這個矩陣的東西。
經過深思熟慮後,簡單地交換兩個矩陣(乘以翻譯的比例)*應該使其工作。這是第二次有效地執行翻譯,所以它不會受到規模的影響,這是我現在正在發生的事情。 – VisualMelon
是的,我不確定發生了什麼事情,所以我只是採取我的解決方法,因爲我沒有調整每一幀的大小,所以這不是什麼大問題。 – zemaster