FMX で TbitmaP からTbitmapSurface への変換方法は?

解決


Jasmine  2018-09-03 08:56:15  No: 49493

FireMonkey で,bitmap画像をクリップボードにコピーしようとしています。
IFMXExtendedClipboardService.setimage()
を使おうとしているのですが,引数として Tbitmapsurface が要求されます。
TbitmapSurfase についての情報はHelpを見ても出てきません。
TbitmapSurfase とはどういうもので,Tbitmap から変換するにはどうすればよいのでしょうか。
(Delphi10.2 + win10)


Mr.XRAY  2018-09-03 18:49:58  No: 49494

>TbitmapSurfase についての情報はHelpを見ても出てきません。

オンラインヘルプでいいのであれば,以下のように検索できます.

https://www.google.co.jp/search?num=50&lr=lang_ja&biw=1343&bih=628&tbs=lr%3Alang_1ja&ei=dh-MW7zvPIub8wWJlYTgCQ&q=TBitmapSurface+site%3Ahttp%3A%2F%2Fdocwiki.embarcadero.com%2FLibraries%2F

>TbitmapSurfase とはどういうもので,Tbitmap から変換するにはどうすればよいのでしょうか。 

TBitmap --> TBitmapSurface であれば Assign でもよいかと.
usesに FMX.Surfaces が必要です.
動作確認は Windows 7 U64(SP1) + Delphi 10.2.3 Community  FMX(32 ビット Windows)

procedure TForm1.Button2Click(Sender: TObject);
var
  LBitmap     : TBitmap;
  LBmpSurface : TBitmapSurface;
begin
  LBitmap     := TBitmap.Create;
  LBmpSurface := TBitmapSurface.Create;
  try
    LBitmap.LoadFromFile('Image_01.bmp');
    LBmpSurface.Assign(LBitmap);
    ImageControl1.Bitmap.Assign(LBmpSurface);
  finally
    FreeAndNil(LBitmap);
    FreeAndNil(LBmpSurface);
  end;
end;


Jasmine  2018-09-04 07:37:09  No: 49495

assign で変換できるのですね!
解決しました。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加