2016-06-14 13 views
2

スマートデバイス用にDelphi 10 Berlinを使用してアプリケーションを構築しようとしています。このアプリでは、私は写真をロードしたり撮りたいのですが、同じX位置の別のコンポーネントを画像の幅に合わせる必要があります。私の問題は、TImageコントロールに画像を割り当てるときに、ビットマップがTImageコントロールのすべての領域を占めるわけではないということです。画像は小さくなります。 TImageコントロールでビットマップの実際のX位置と幅を取得するにはどうすればよいですか?ここに私のコードは次のとおりです。Delphi 10 TImage、モバイル向けの画像の幅

begin 
    if Image1.Bitmap.Height > Image1.Bitmap.Width then 
    begin 
    Image1.Bitmap.Rotate(-90); 
    end; 
    Image1.Bitmap.Assign(Image); 
    Memo1.Width := Image1.Width; 
    Memo1.Text := ''; 
end; 
+0

私はすべてのWrapMode値を試しましたが、画像をTImageコントロールに割り当てた後、画像が画像コントロールよりも小さくなってしまいました。ストレッチを試みましたが、画像が歪んでしまいました。 WrapModeプロパティを 'FIT'に設定し、他のコントロールの幅を画面上に表示される画像の幅で変更して、それらを整列させておく必要があります。タイムコントロールのビットマッププロパティにロードされた後にイメージの幅を取得するコードがありますか? – RicardoPin

答えて

2

FireMonkeyのTImageコンポーネントは、画像ビットマップがTImageSurfaceに描画される方法を制御であなたを助けWrapModeというプロパティがあります。

http://docwiki.embarcadero.com/Libraries/Berlin/en/FMX.Objects.TImage.WrapMode

注:

あなたはここに公式ドキュメントでそれについての詳細を読むことができます。このプロパティをし、それに接続された機能はありませんVCL版のため、TImageのFireMonkeyのバージョンでのみ使用可能です。

+0

VCLでは、 'TImage'は' AutoSize'、 'Center'、' Proportional'、 'Stretch'プロパティを持っています。 –

+0

VCLではなくFireMonkeyを使用していますが、これはモバイルアプリです。 – RicardoPin

関連する問題