[過去ログ] Delphiゲームプログラミング相談室 (976レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
712
(1): [sage] 2006/01/03(火) 21:42:35 ID:E1OTiKsy(1) AAS
DelphiXのチュートリアルにも書いてありますが、サーフェイスの画素データに
直接アクセスして描画してみたらどうでしょう。
外してたらごめん。

procedureTForm1.Button1Click(Sender:TObject);
var
 ddsd:DDSURFACEDESC;

 function DDScanLine(y:Integer):Pointer;
 begin
  {TBitmap.ScanLine と同じ働きをします}
  Result :=Pointer(Integer(ddsd.lpSurface)+y*ddsd.lPitch);
 end;
var
 y:Integer;
begin
 ddsd.dwSize :=SizeOf(ddsd);
 ifDXDraw1.Surface.Lock(ddsd)then
 begin
  {ddsd.dwWidth サーフェースの幅}
  {ddsd.dwheigh サーフェースの高さ}
  {ddsd.lpSurface ピクセルデータ(0,0)へのポインタ}
  {ddsd.lPitch 下の行のスキャンラインへのオフセット}
  {Abs(ddsd.lPitch)1ラインで使用しているバイト数}
  try
   for y:=0 to ddsd.dwHeight-1 do
    FillChar(DDScanLine(y)^,Abs(ddsd.lPitch),Y);
  finally
   DXDraw1.Surface.UnLock;{これが必須}
 end;
end;
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.026s