не знаю как делает это матлаб, но можно просто попробовать значение ячейки матрицы просто отконвертировать в TColor и отрисовать точку соотв. цветом. Вот типа простейший пример (не оптимальный по скорости и без масштабирования):
Код:
function DrawImageByMatrix(A : Array Of Array Of Integer) : TBitmap;
var
I, J : Integer;
begin
Result := TBitmat.Create;
Result.Height := Length(A);
Result.With := Length(A[Low(A)]);
Result.PixelFormat := pf24bit;
Result.Canvas.Brush.Color := clWhite;
Result.Canvas.FillRect(Rect(0,0,Result.Width,Result.Height));
For I := Low(A) To High(A) Do
For J := Low(A[i]) To High(A[i]) Do
Result.Canvas.Pixels[J,I] := TColor(A[I,J]);
end;
В примере в матрице считаем, что первой координатой идет Y, второй - Х (т.е. обратное экранным).