Ja ebend, so in der Art hätte ich dies realisiert.
Habe mal angefangen:
Delphi-Quellcode:
type
TDigits = 0..1;
function CreateMonoBitmap(W, H: Integer): TBitmap;
begin
Result := TBitmap.Create;
with Result do
begin
Width := W;
Height := H;
PixelFormat := pf1Bit;
end;
end;
var
b: Byte;
procedure WritePixelToMonoBitmap(bmp: TBitmap; x,y: Integer; Value: TDigits);
var
p: pByteArray;
begin
p := pByteArray(bmp.Scanline[y]);
// hier fehlt noch die umrechnung auf ein BIT
p[x div 8] := Value zu BIT umrechnen;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
bitmap: TBitmap;
x,y: byte;
begin
// MonoBitmap erzeugen
bitmap := CreateMonoBitmap(100,100);
// Diagonale auf's Test Bitmap zeichnen
for y:=0 to 99 do
begin
WritePixelToMonoBitmap(bitmap, x, y, 0);
inc(x);
end;
// Testanzeige
Image1.Picture.Bitmap.Assign(bitmap);
// Bitmap freigeben
bitmap.Free;
end;
Leider Stelle ich mich bei der Umrechnung auf das einzelne Bit nicht geschickt genug an, so daa ich noch keinen rechten Erfolg hatte. Schleifen wollte ich nicht verwenden. Das muss auch mit Bit-Verschiebung gehen.
Wenn einer eine Idee hat kann er die mir mitteilen