2016-03-21 3 views
0

このフリーウェアを使用して、私の地元の園芸クラブデータベースのD5-entを更新します。RotateImageを保存する

http://www.delphiarea.com/products/delphi-components/rotateimage/

それはLoadFromFileメソッドを持って、十分に高速であり、非常によく動作しますが、それは何のSaveToFileメソッドを持っていません。このサイトのフォーラムには、Savingに関する質問がありますが、決定的な回答はありません。

画像を回転させて保存する方法を教えてください。

私はイメージを保存するためにオンラインのルーチンを見つけましたが、どれも動作していないようです。それは何かを保存するが、もはやJPGではない。私はCanvasを保存する方法を探してみましたが、コンパイルするための何も取得できませんでした。一般的には、「Bitmap/Canvas、Picture/etcをTRotateImageに割り当てることができません」というメッセージが表示されます。

P.S. ImageExとImage32の両方を試してみましたが、D5の両方のバージョンは回転したファイルを保存するだけでは使いにくいです。

答えて

4

TRotateImageのドキュメントによれば、回転イメージをビットマップとして格納するRotatedBitmapというプロパティがあります。あなたは簡単にユニットjpegからTJPEGImageクラスを使用してJPEG画像にそのビットマップに変換することができます:TRotateImageする代わりに

uses jpeg; 

procedure SaveRotatedImage; 
var 
    jpg: TJPEGImage; 
begin 
    jpg := TJPEGImage.Create(); 
    try 
    jpg.Assign(YourRotateImage.RotatedBitmap); 
    jpg.SaveToFile('filename.jpg'); 
    finally 
    jpg.Free; 
    end; 
end; 

、私は、様々な補間カーネルを使用して画像に、より複雑な変換を適用することができGraphics32ライブラリをお勧めします透明性を処理します。しかし、ローテーションが必要なだけで、コンポーネントの結果に満足すれば、それにとどまることもできます。

+0

ありがとう、私は今日後でそれを試してみます。私はgraphics32をインストールしましたが、それは大きな学習曲線があり、私はこの古いアプリケーションに大きな書き直しをする必要はありません。 – user2175495

関連する問題