掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
フォームのビットマップイメージを取得するには? (ID:8919)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
蛇足です。 Delphi の TBitmap は、API の CreateCompatibleDC() でつくられるメモリDC を カプセル化したクラスです。これの Canvas.Handle がデバイスコンテキストハンドル に相当します。いわゆるオフスクリーンビットマップですね。 今回の質問では、GetDC() を使っていますのでクライアント領域のイメージがほしい のでしょう。でも、幅と高さは Width と Height を使っていますので、タイトルバー や枠なんかも含めたいのでしょうか。その場合は、GetDC ではなく GetWindowDC() を 使って、ビットマップに複写します。こんな感じです。 procedure TForm1.Button1Click(Sender: TObject); var FormDC:HDC; begin FormDC := GetWindowDC(Handle); Image1.Picture.Bitmap.Width := Width; Image1.Picture.Bitmap.Height := Height; BitBlt(Image1.Picture.Bitmap.Canvas.Handle,0,0,Width,Height,FormDC,0,0,srcCopy); ReleaseDC(Handle,FormDC); Image1.Refresh; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.