|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.04.2010, 00:26 | #31 | |
Форумчанин
Регистрация: 02.04.2009
Сообщений: 235
|
Цитата:
Как мне уже сказали, надо научиться работать с графикой, т.е. понять работу с PaintBox, Image для рисования. Оба компонента уже знаю как использовать. Но что-то ума мне, чтобы написать более сложную программу после прочтения некоторых статей и проработки некоторых практических заданий - не прибавило.
Всё гениальное - просто!
Последний раз редактировалось .Phoenix; 05.04.2010 в 00:30. |
|
05.04.2010, 00:34 | #32 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
на нем(как и на GDI) вы сможете нарисовать чтото, но вам главное понять принципы рисования, то алгоритм, где что расставлять
обычно у нас идет фон, на него рисуются обьекты(столбцы визуализации например) определенный цвет и тд.(градиент и прочее) канвас, ты изучил, но что ты можешь с его помощью нарисовать? график например смогешь? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
05.04.2010, 00:41 | #33 | |||
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Цитата:
Цитата:
Я примерно понимаю о чем ты, чтобы было красивее, во первых используй градиент, во вторых - альфабленд. Можно реализовать самому, но есть и готовые функции в API для этого (в VCL нет). Все это вместе в комбинации позволит нарисовать весьма красивые интерфейсы. К примеру я бы градиент заюзал в анализаторе, и поделил бы потом на секции по горизонтали каждый столбик, было бы красиво, как в AIMP например. Что касается применения BitBlt, то в VCL программе без нужды особого смысла применять ее нет, Canvas.Draw рисует с такой же скоростью. Цитата:
p.s. По поводу как сделать все таки этот анализатор, как бы я это сделал: 1. Придумать класс (абстрактный для начала), предусмотреть нужные поля и методы. Написать его на Delphi. 2. Найти в bass таймер к к-рому привязаться. 3. Цепляем к этому таймеру наш объект, т.е. заполняем поля его - каждый столбик (Bar по-английски). Весь код вывода графики будет внутри класса анализатора, так мы не будем мусорить и код будет аккуратный и понятный. Немного подробнее про пункт 1. Минимальный набор полей - битмап-буфер, пэйнтбокс для вывода на экран, массив столбиков (столбик - еще одна абстракция, для него скорее всего лучше отдельный класс реализовать). У каждого столбика свой набор полей будет, главное из них - текущее положение. p.s. По дурацки звучит как-то - столбик, как его лучше называть? p.p.s. Я знаю что тебе нужно, уроки по созданию простых игр на канве, у нас на форуме есть они, это как раз то что тебе нужно для понимания как создавать анимацию программно. Только смотри чтобы именно на канве, если с помощью TShape или там кнопочки по форме ездиют, то тебе это не нужно, проходи мимо. Вот еще у себя нашел исходники окна о программе к моему плееру на базе TMediaPlayer, сам плеер с исходниками можешь найти в ветке Обсуждение программ, а вот это окошко о программе я кажется тогда так и не включил туда, во вложении pas и dfm файлы этой формы, там кружочки по всей форме появляются и исчезают, если по форме кликать то в месте клика тоже кружочек растет, попытайся понять как работает.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 05.04.2010 в 01:16. |
|||
05.04.2010, 14:36 | #35 | ||||||
Форумчанин
Регистрация: 02.04.2009
Сообщений: 235
|
Пепел Феникса
Цитата:
Цитата:
mutabor Прочёл твоё смс, кое-что не знал - буду знать. Как можно BitMap привязать к PaintBox'у? Здесь надо как-нибудь по подробнее. Я могу понять и понимаю, но не все сразу. Так как в графике пока, что новичок. И можно как-нибдуь по подробнее с Bitmap'ом? Что это, да кто это? Цитата:
Цитата:
Цитата:
Ну за исходники спасибо, но мне бы хотелось прочесть какую-нибудь одну, но хорошую книгу по графике, прочитав которую я смогу не слабо рисовать. ZuBy Цитата:
Всё гениальное - просто!
|
||||||
05.04.2010, 14:56 | #36 | ||
Участник клуба
Регистрация: 29.09.2008
Сообщений: 1,234
|
Цитата:
Код:
Цитата:
я там все уже сделал, тебе осталось только ~10 строк скопировать в свои плеер и все) |
||
05.04.2010, 15:12 | #37 | ||
Форумчанин
Регистрация: 02.04.2009
Сообщений: 235
|
Цитата:
Цитата:
Всё гениальное - просто!
|
||
05.04.2010, 15:28 | #38 |
Участник клуба
Регистрация: 29.09.2008
Сообщений: 1,234
|
bmp.canvas.fillrect(bmp.canvas.clip rect); // заполняем bmp белым цветом
можно менять цвет Код:
Код:
Код:
|
05.04.2010, 15:47 | #39 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Чтобы научиться рисовать... нужно рисовать, банально, но это так. Исходя из имеющихся инструментов. И анализировать чужие исходники, брать из них новые для себя идеи, нюансы.
Насчет игр ты зря, там все то, что тебе нужно используется. Я ж не говорю крутейшую 3D игру учиться делать, а простые двухмерные на канве, там вся та же техника используется как и для рисования интерфейсов. Просто уроков по созданию интерфейсов не так много, а вот игр - есть. В общем случае тебе надо из квадратиков кружочков и линий составлять сложные красивые рисунки, вся GDI графика сводиться к этому. Для примера погугли на тему EMF файлов, и посмотри какие сложные рисунки можно создать командами GDI. Простейшая анимация: 1. рисуешь фон (реализация - не суть важно, я делаю на основе TBitmap) 2. поверх фона рисуешь объект в его текущем положении (тоже самое, сплошная абстракция, я не зря применил слово объект, хочешь из еще одного битмапа выводи, хочешь рисуй программно каждый раз) 3. goto 1 Цитата:
Код:
p.s. И еще один конкретный совет, сделай скрин из какого нибудь плеера с анализатором, к-рый тебе нравиться и наподобии к-рого ты хотел бы свой создать. И попытайся нарисовать его копию программно, один в один, без никакой анимации сначала, просто статическую картинку, но чтобы она не отличалась от скрина. По ходу и научишься, а потом уже анимацией займешься. Будут конкретные вопросы, как что нарисовать - задавай. Вот к примеру один из этих можно попробовать (это из разных версий AIMP)
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 05.04.2010 в 16:14. |
|
07.04.2010, 13:10 | #40 | |||
Форумчанин
Регистрация: 02.04.2009
Сообщений: 235
|
ZuBy
Код:
mutabor Цитата:
Цитата:
Цитата:
Вот был бы хотя бы один какой-нибудь нормальный учебник, по которому можно научиться просто рисовать.
Всё гениальное - просто!
|
|||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Кто знает что это за компонент | edik | Компоненты Delphi | 2 | 05.12.2009 23:06 |
Подскажите если кто знает что это за компоненты | edik | Компоненты Delphi | 7 | 02.12.2009 20:24 |
Может кто нибудь знает, что это такое? | vinokur | Помощь студентам | 5 | 27.10.2009 19:18 |
Что это такое и как это того... | Alex Cones | Общие вопросы Delphi | 2 | 11.10.2009 12:04 |