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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2011, 19:10   #1
maloun
Форумчанин
 
Аватар для maloun
 
Регистрация: 03.01.2011
Сообщений: 233
По умолчанию как масив пикселей объявить?

мб я чет не подключил, но pix:array of Pixels; не пашет...

Как масив пикселей объявить?
TPixels или типо того
пыжок

Последний раз редактировалось maloun; 04.04.2011 в 19:18.
maloun вне форума Ответить с цитированием
Старый 04.04.2011, 19:25   #2
maloun
Форумчанин
 
Аватар для maloun
 
Регистрация: 03.01.2011
Сообщений: 233
По умолчанию

ладно, так сделаю
TPixel = packed record
x,y:integer;
end;
пыжок
maloun вне форума Ответить с цитированием
Старый 04.04.2011, 19:30   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
Pixels:array of array of TColor
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.04.2011, 19:35   #4
maloun
Форумчанин
 
Аватар для maloun
 
Регистрация: 03.01.2011
Сообщений: 233
По умолчанию

что это такое, почему это вообще компилируется, как оно работает ???
Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Код:
Pixels:array of array of TColor
это масив масивов тколор?
Я хочу использовать Pixels[i].x и Pixels[i].y
пыжок

Последний раз редактировалось maloun; 04.04.2011 в 19:46.
maloun вне форума Ответить с цитированием
Старый 04.04.2011, 20:52   #5
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

так не получится, т.к. рисмунок - это матрица пикселей кокого-то
цвета
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Старый 04.04.2011, 21:11   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а если вы не видели то у класса TCanvas
то пиксель это и есть его цвет.
а x,y это индексы массива.

если вам нужен массив точек:
array of TPoint

кстати то что я написал, это двухмерный массив TColor
что и представляет из себя рисунок(битмап)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 04.04.2011 в 21:21.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.04.2011, 21:46   #7
maloun
Форумчанин
 
Аватар для maloun
 
Регистрация: 03.01.2011
Сообщений: 233
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а если вы не видели то у класса TCanvas
то пиксель это и есть его цвет.
а x,y это индексы массива.

если вам нужен массив точек:
array of TPoint

кстати то что я написал, это двухмерный массив TColor
что и представляет из себя рисунок(битмап)
про TColor не догадался,
а про двухмерные масивы первый раз слышу
пыжок
maloun вне форума Ответить с цитированием
Старый 05.04.2011, 10:45   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

если что то прямоугольный массив сделать(точнее задать длину прямоугольную)
это SetLength(Pixels,640,480)
прямоугольный массив это двухмерный массив у которого длина каждого подмассива одинакова.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.04.2011, 13:22   #9
maloun
Форумчанин
 
Аватар для maloun
 
Регистрация: 03.01.2011
Сообщений: 233
По умолчанию

тоесть от количества array of зависит коофицент "мерности" масива
array of одномерный "простой"
array of array of двухмерный масив или битмап
а если будет
array of array of array of TColor это будет трёхмерный масив TColor?
пыжок
maloun вне форума Ответить с цитированием
Старый 05.04.2011, 13:25   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

да трехмерный.

хотя возможно такое:
Код:
type
 TArrayInt=array of integer;

var a:array of TArrayInt;
здесь не так явно видно что массив двухмерный.

вообще двухмерный массив еще называют массив массивов
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно объявить и определить функцию? -ushёl- Общие вопросы C/C++ 0 14.06.2010 13:30
Как объявить глобальный/публичный вектор huzik Общие вопросы C/C++ 1 13.11.2009 23:02
как объявить синус? pinya86 Microsoft Office Excel 4 13.05.2009 03:05
Как лучше объявить функцию? Иллидан Общие вопросы C/C++ 1 20.05.2008 14:31
как в процедуре объявить массив? kolduev Помощь студентам 7 18.02.2008 23:35