![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Уважаемые форумчане, я не программист, но судьба вынудила встретиться с delphi. Совершенно не понимаю как можно визуализировать матрицу значений в delphi.
Предположим есть такая матрица значений: -19715 17495 -9090 -5335 -19545 14235 -1420 -630 -17725 18535 -2590 230 -13290 21705 1325 195 Мне нужно визуализировать эту матрицу, как это делается в matlab с помощью функции imagsc, которая интерпретирует матрицу как прямоугольное изображение и каждый элемент матрицы представляется в виде квадратика, цвет которого соответствует величене элемента. На картинке пример того как это происходит в matlab. ![]() Помогите пожалуйста понять, как получить такую же картинку по матрице в delphi. |
#2
|
|||
|
|||
![]() не знаю как делает это матлаб, но можно просто попробовать значение ячейки матрицы просто отконвертировать в TColor и отрисовать точку соотв. цветом. Вот типа простейший пример (не оптимальный по скорости и без масштабирования):
Код:
В примере в матрице считаем, что первой координатой идет Y, второй - Х (т.е. обратное экранным). |
#3
|
|||
|
|||
![]() Извините, я от программирования очень далёк, и почти ничего не понял из примера. Почему то при компиляции этого кода, программа жалуется на A : Array Of Array Of Integer и на Result := TBitmat.Create;
|
#4
|
|||
|
|||
![]() Ну очепятался местами.
Вот полный пример (Delphi 10.1 Berlin) со случайным заполнением массива: Код:
|
#5
|
|||
|
|||
![]() Спасибо большое!
Не подскажете ещё, а цвет случайным образом задаётся каждому значению? |
#6
|
|||
|
|||
![]() Это пример. Просто в начале случайным образом заполняю матрицу. К отрисовке это не имеет отношение. У тебя матрица должна заполняться как-то по другому. Более того, в зависимости от дизайна интерфейса и размера матрицы, тебе скорее всего потребуется рисовать не точки, а прямоугольники/квадраты, что бы компенсировать различия в размераз матрицы и картинки. В примере я просто взял размеры картинки и создал такого же размера матрицу.
|
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Admin (29.10.2016)
|
#7
|
|||
|
|||
![]() Спасибо! Понятно, буду пробовать для своей матрицы.
|