モナーの *やさしい* Delphi質問スレ
■ このスレッドは過去ログ倉庫に格納されています
0228デフォルトの名無しさん
NGNGいろいろコストがかかる処理しているからだね。
俺は ScanLine から次のラインへのオフセットを計算して
以後それを使って高速化している。
var
ScanLinePtr0: Pointer;
ScanLineOffset: Longint;
Y: Longint;
P: Pointer;
begin
{ 画像の任意のラインのポインタを計算するための準備 }
ScanLinePtr0 := Bitmap.ScanLine[0];
if Bitmap.Height>1 then
ScanLineOffset := Integer(Bitmap.ScanLine[1])-Integer(Bitmap.ScanLine[0])
else
ScanLineOffset := 0;
{ 各ラインのポインタを求める }
for Y:=0 to Bitmap.Height-1 do
begin
P := Pointer(Integer(ScanLinePtr0)+ScanLineOffset*Y);
// 取得したポインタPを使ってとりあえず何かしよう
end;
end;
■ このスレッドは過去ログ倉庫に格納されています