掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
GDIを利用したJpegの画像回転 (ID:42035)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Delphi6 personalでGDIを導入して画像を回転させようとしています。 下記を参考にしました。 http://www.geocities.jp/asumaroyuumaro/program/tips/gdiplus.html コンポーネントは指示通り http://www.progdigy.com/ のDownloadのGDI plus API からgdiplus.zipをダウンロードしてpasフォルダを LIBにいれてパスを通しました。 質問は、Jpegの場合、一旦Bitmapに入れてファイルにsaveして、再び bmpファイルをロードしてbmp :TGPBitmapに入れていますが、 初心者が考えても無駄のようです。Bitmapから直接にbmp :TGPBitmapに 代入する方法を教えていただけませんか。よろしくお願いします。 uses Jpeg,GDIPAPI,GDIPOBJ ; procedure TForm1.Button1Click(Sender: TObject); var graphics :TGPGraphics; bmp :TGPBitmap; Jpg: TJPEGImage; Bitmap:TBitmap; begin if OpenDialog1.Execute then begin //フォームのTGPGraphicsオブジェクトを取得 graphics := TGPGraphics.Create(Canvas.Handle); if LowerCase(ExtractFileExt(OpenDialog1.FileName))='.bmp' then begin //bmpの場合 bmp := TGPBitmap.Create(OpenDialog1.FileName); end else begin //Jpegの場合 Jpg :=TJpegImage.Create ; Bitmap:=TBitmap.Create; try Jpg.LoadFromFile(OpenDialog1.FileName); Bitmap.Assign(JPG); // <-----ここから無駄? Bitmap.SaveToFile('Temp.bmp'); bmp := TGPBitmap.Create('Temp.bmp'); finally Bitmap.Free; Jpg.Free; end; end; try bmp.RotateFlip(Rotate90FlipNone);//90°回転 graphics.DrawImage(bmp, 20, 20); finally bmp.Free; graphics.Free; end; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.