Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2011, 00:01   #1
sergobrit
Пользователь
 
Регистрация: 23.10.2011
Сообщений: 18
По умолчанию Отображение данных массива на TIamge

Здравствуйте. Не уверен, в какой именно раздел отнести мой вопрос, поэтому пишу в общее. В конечном итоге я хочу отобразить данные (это аудиофайл в формате wav или в dat формате) на канве TImage, чтобы в итоге получить спектрограмму (прилагаю изображение, чтобы было ясно, что именно я под этим подразумеваю). Для начала я хочу по крайней мере вывести единичную матрицу на канву или зависимость одной величины от другой.
А вообще спектрограмма(сонограмма) — изображение, показывающее зависимость спектральной плотности мощности сигнала от времени. Грубо говоря зависимость частоты от времени, где на каждом временном интервале цветом показано изменение амплитуды.
Если у кого есть какие идеи или реализации по теме, заранее большое спасибо за помощь.
Изображения
Тип файла: jpg signal PG.jpg (47.4 Кб, 133 просмотров)
sergobrit вне форума Ответить с цитированием
Старый 21.12.2011, 12:53   #2
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Код:
  Image1.Canvas.Brush.Color := clGreen;
  Image1.Canvas.Pen.Color := clRed;
  Image1.Canvas.Rectangle(0,0, 100, 100);
Баламут вне форума Ответить с цитированием
Старый 01.10.2013, 15:49   #3
bratcho
Пользователь
 
Регистрация: 14.10.2011
Сообщений: 20
По умолчанию

Не подскажите по поводу соответствия цветов значениям амплитуды. К примеру есть диапазон амплитуд от 0 до 100. Какой цвет ставить (то есть какой код RGB) в соответствие каждому значению амплитуды из этого диапазона?
bratcho вне форума Ответить с цитированием
Старый 01.10.2013, 16:24   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Плавный переход от одного цвета к другому в диапазоне можно так примерно организовать

x1 - начало диапазона, (r1,g1,b1) - цвет начала диапазона
x2 - конец диапазона, (r2,g2,b2) - цвет конца диапазона

x - точка в диапазоне, цвет в точке из уравнения прямой r=r1+(x-x1)*(r1-r2)/(x1-x2), аналогично для g и b, естественно округленно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отображение данного массива на экран по столбцам в обратном порядке VaLiAr Помощь студентам 0 04.11.2011 00:51
отображение данных sid1868 Помощь студентам 0 29.05.2011 12:55
Отображение данных Waaper БД в Delphi 2 23.05.2011 16:16
Спиральное отображение массива.... enot27 Паскаль, Turbo Pascal, PascalABC.NET 2 05.12.2008 15:23