2017-09-28 21 views
0

アンドロイドでは、できますmatrix.setScale(-1, 1);FLIP_HORIZONTALイメージです。delphiの下でmatrix.setScale(-1、1)に相当するものは何ですか?

+0

私は確かに知らないが、その行列の乗算を知っていますかは可換ではありませんが、IEAの* bは –

+0

はありません、知りませんでした* bと同じではありません...しかし、私はあなたが正しいと思っているが、確かではない – noa

答えて

0

aMatrix := Canvas.Matrix * TMatrix.CreateScaling(-1, 1); 
Canvas.SetMatrix(aMatrix); 

が、それは私がどのように私は(そう行列で遊んで、キャンバス内)Delphiで画像をFLIP_HORIZONTALすることができます何を欠場でした:(動作していない:私は次のようにデルファイの下で同じことをしよう?

は、私が見つかりました。

aMatrixRotationCenter.X := (width/2) + Canvas.Matrix.m31; 
aMatrixRotationCenter.Y := (height/2) + Canvas.Matrix.m32; 
aMatrix := Canvas.Matrix * TMatrix.CreateTranslation(-aMatrixRotationCenter.X,-aMatrixRotationCenter.Y); 
aMatrix := aMatrix * TMatrix.CreateScaling(-1, 1); // matrix.setScale(-1, 1); 
aMatrix := aMatrix * TMatrix.CreateTranslation(aMatrixRotationCenter.X,aMatrixRotationCenter.Y); 
Canvas.SetMatrix(aMatrix); 
関連する問題