Bitblt

解決


ヘイポイ  2003-06-30 01:26:04  No: 3924  IP: [192.*.*.*]

また質問させてもらいます。
BitbltでのBitmapの表示の仕方を
ご存知でしたら教えてください。

編集    削除
たかみちえ  URL  2003-06-30 01:32:45  No: 3925  IP: [192.*.*.*]

DelphiにはTBitmapのDrawメソッドなど、同様の便利なメソッドがありますが、それらを使わないんですか?

  使いたくないんだとしても、情報はすぐに見つかるはずなので、インターネットで検索してください。


  それから、質問が解決したら、ちゃんと"解決"マークをつけてくださいね。

編集    削除
Halbow  2003-06-30 03:47:31  No: 3926  IP: [192.*.*.*]

TCanvas の Draw メソッドが BitBlt() と同じです。
描画先が Canvas を持っているときは Draw() メソッドを使ってください。

以下の例は、どちらも同じ実行結果を与えます。

// TCanvas.Drawメソッドの例
procedure TForm1.Button1Click(Sender: TObject);
var
  BMP:TBitmap;
begin
  BMP := TBitmap.Create;
  try
    BMP.LoadFromFile('c:\Test.bmp');
    Canvas.Draw(10,10,BMP);
  finally
    BMP.Free;
  end;
end;

// BitBlt() の例
procedure TForm1.Button2Click(Sender: TObject);
var
  BMP:TBitmap;
begin
  BMP := TBitmap.Create;
  try
    BMP.LoadFromFile('c:\Test.bmp');
    BitBlt(Canvas.Handle,10,10, BMP.Width,BMP.Height,
           BMP.Canvas.Handle,0,0,SRCCOPY);
  finally
    BMP.Free;
  end;
end;

編集    削除
ヘイポイ  2003-06-30 17:11:27  No: 3927  IP: [192.*.*.*]

すいません、
解決はどうやってつければよいでしょうか。

編集    削除
平蔵  2003-06-30 19:57:46  No: 3928  IP: [192.*.*.*]

Bitbltでということですので、参考までに。
調べるときはAPIのGetDC、ReleaseDCを調べるとよいでしょう。

編集    削除
Halbow  2003-06-30 20:08:12  No: 3929  IP: [192.*.*.*]

Halbow です。

>  解決はどうやってつければよいでしょうか。

えーと、書き込むときのすぐ上にある

←解決時は質問者本人がここをチェックしてください。

のチェックボックスをチェックします。

編集    削除
へいポい  2003-07-02 04:56:36  No: 3930  IP: [192.*.*.*]

解決しました。

編集    削除