For j := 0 To hBmp.Height - 1 Do
Begin
P := heBmp.Scanline[j];
Q := hBmp.Scanline[j];
For i := 0 To hBmp.Width - 1 Do
Begin
Case (P[i]) Of
3, 4, 5:Q[i] := 1;
6, 8, 9:Q[i] := 2;
1, 2, 7:Q[i] := 3;
Else
Q[i] := 0;
End;
End;
End;请问如何提高效率
Begin
P := heBmp.Scanline[j];
Q := hBmp.Scanline[j];
For i := 0 To hBmp.Width - 1 Do
Begin
Case (P[i]) Of
3, 4, 5:Q[i] := 1;
6, 8, 9:Q[i] := 2;
1, 2, 7:Q[i] := 3;
Else
Q[i] := 0;
End;
End;
End;请问如何提高效率
LUT: array[0..255] of byte =(0, 3, 3, 1, 1, 1, 2, 3, 2, 2, ...); // ... 全是0,自己写吧// ...var
P, Q: PByteArray;For j := 0 To hBmp.Height - 1 Do
Begin
P := heBmp.Scanline[j];
Q := hBmp.Scanline[j];
For i := 0 To hBmp.Width - 1 Do
Q[i] := LUT[P[i]];
End;