Ausgangssituation war "habe Array", nicht "habe Bitmap".
EDIT: hier nochmal mit scanline, man will ja nicht kleinlich sein:
Delphi-Quellcode:
type
TGrayArray =
array of array of Byte;
function MakeGray(values: TGrayArray): TBitMap;
var x,y:Integer;
row: Pointer;
begin
Result := TBitmap.create;
//erzeugen
Result.Width := length(values);
Result.height := length(values[0]);
Result.Canvas.Brush.Color := clblack;
Result.canvas.Rectangle(0,0,Result.Width,Result.Height);
//schwarz färben
for y := 0
to high(values[0])
do
begin
row := Result.ScanLine[y];
for x := 0
to high(values)
do
if (y < Result.Width)
and (x < Result.Height)
then
TColor(Pointer(Integer(row)+x)^) :=
rgb(values[x,y],values[x,y],values[x,y]);
end;
end;
kompiliert, nicht getestet.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1