Bitblt

解決


ヘイポイ  2003-06-29 16:26:04  No: 3924  IP: 192.*.*.*

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

編集 削除
たかみちえ  URL  2003-06-29 16:32:45  No: 3925  IP: 192.*.*.*

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

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


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

編集 削除
Halbow  2003-06-29 18: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 08:11:27  No: 3927  IP: 192.*.*.*

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

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

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

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

Halbow です。

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

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

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

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

編集 削除
へいポい  2003-07-01 19:56:36  No: 3930  IP: 192.*.*.*

解決しました。

編集 削除