TCanvas.DrawPixel
Модератор: Модераторы
TCanvas.DrawPixel
Добрый день.
Подскажите пожалуйста, есть метод DrawPixel у класса TCanvas. В методе есть параметр: const newcolor: TFPColor. Собственно я его посмотрел и получается, что она передавать именно структуру? Я правильно понимаю? Плюс данная структура определена в FPImage. Поэтому данный файл нужно подключить в своем модуле, где я делаю вызов этого метода? Или можно как-то по другому задать цвет?
Сейчас начал изучение по работе с графиков. Требуется для написания небольшой программы, которая облегчит жизнь в части подготовки планирования расположения разных предметов в замкнутом пространстве.
Подскажите пожалуйста, есть метод DrawPixel у класса TCanvas. В методе есть параметр: const newcolor: TFPColor. Собственно я его посмотрел и получается, что она передавать именно структуру? Я правильно понимаю? Плюс данная структура определена в FPImage. Поэтому данный файл нужно подключить в своем модуле, где я делаю вызов этого метода? Или можно как-то по другому задать цвет?
Сейчас начал изучение по работе с графиков. Требуется для написания небольшой программы, которая облегчит жизнь в части подготовки планирования расположения разных предметов в замкнутом пространстве.
IStukalov писал(а):Собственно я его посмотрел и получается, что она передавать именно структуру? Я правильно понимаю?
Да.
IStukalov писал(а):Плюс данная структура определена в FPImage. Поэтому данный файл нужно подключить в своем модуле, где я делаю вызов этого метода? Или можно как-то по другому задать цвет?
В модуле Graphics есть, например, функция TColorToFPColor(), так что если ограничиться чем-то вроде
Код: Выделить всё
...
Canvas.DrawPixel(10, 10, TColorToFPColor($808080));
...
Canvas.DrawPixel(20, 20, TColorToFPColor(clGreen));
...
то FPImage можно наверное не подключать, если это важно.
iskander
Спасибо! Попробую. Если не сложится вернусь
PS На дельфи7 столько было справочной информации и в одном месте, а тут конечно много и в интернете не получается найти хорошего.
Спасибо! Попробую. Если не сложится вернусь
PS На дельфи7 столько было справочной информации и в одном месте, а тут конечно много и в интернете не получается найти хорошего.
- Снег Север
- долгожитель
- Сообщения: 3071
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Ьеня удивляет зачем люди тратят массу времени на изучение заведомо устаревшей фигни, вроде рисования на Canvas. Людям, которые хотят делать какие-либо графические приложения на паскале, я бы настоятельно рекомендовал начать с GLScene - http://glscene.sourceforge.net/wikka/ - есть пакет под лазарус, масса примеров, в основном - кроссплатформенная.
Снег Север, для новичка это проще. Если каждый будет себя вспоминать, то будет вспоминать, какой "страх" испытывал что надо изучать какие-то библиотеки, в которых всё сложно.
Это потом приходит понимание этих библиотек и ими начинаешь пользоваться без труда. Но изучать-то всё равно приходится.
А GLScene не лучший вариант, он не работает нормально на Linux его допиливать надо. Что говорить, он даже под Windows не везде корректно работает для FPC/Lazarus. Эта библиотека больше настроена под Delphi.
Потому лучше скидывать ссылки на список библиотек, из которых можно выбрать.
https://wiki.freepascal.org/Games - здесь можно увидеть их именно для FPC/Lazarus.
Это потом приходит понимание этих библиотек и ими начинаешь пользоваться без труда. Но изучать-то всё равно приходится.
А GLScene не лучший вариант, он не работает нормально на Linux его допиливать надо. Что говорить, он даже под Windows не везде корректно работает для FPC/Lazarus. Эта библиотека больше настроена под Delphi.
Потому лучше скидывать ссылки на список библиотек, из которых можно выбрать.
https://wiki.freepascal.org/Games - здесь можно увидеть их именно для FPC/Lazarus.
Снег Север
Я во общем то не собираюсь заниматься анимацией/играми
Мне нужны простые примитивы пока что, с помощью которых я буду рисовать разные геометрические фигуры (прямоугольник, квадрат, треугольник, дуга, эллипс/овал, круг) в области координат XY и XYZ.
Почему я решил использовать стандартные вещи? Потому что мне их будет достаточно для изучения пока что. Но уже правда столкнулся с проблемой, которая как я понимаю часто у многих возникает (мерцание при передвижении фигуры вверх или влево, пока читаю интернет как это обойти).
Seenkao
А какие есть библиотеки, которые позволят рисовать любые геометрические фигуры и в принципе она будет работать одинаково как на Win так и на Linux? И в принципе не планирую изучать графику для создания игр или анимации. Изучаю графику, чтобы можно было создавать/моделировать объекты (грубо говоря прототипы мебели, окон, дверей и прочее).
Я во общем то не собираюсь заниматься анимацией/играми
Почему я решил использовать стандартные вещи? Потому что мне их будет достаточно для изучения пока что. Но уже правда столкнулся с проблемой, которая как я понимаю часто у многих возникает (мерцание при передвижении фигуры вверх или влево, пока читаю интернет как это обойти).
Seenkao
А какие есть библиотеки, которые позволят рисовать любые геометрические фигуры и в принципе она будет работать одинаково как на Win так и на Linux? И в принципе не планирую изучать графику для создания игр или анимации. Изучаю графику, чтобы можно было создавать/моделировать объекты (грубо говоря прототипы мебели, окон, дверей и прочее).
Последний раз редактировалось IStukalov 31.03.2022 20:49:57, всего редактировалось 1 раз.
- Снег Север
- долгожитель
- Сообщения: 3071
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
IStukalov, я еще лет десять назад делал образовательную программу для школьников - геометрия и стереометрия, с реализацией графики на GLScene. Да, на делфи, но сейчас там в основном допилили и лазарь. Для неигровой графики - более чем достаточно. OpenGL - графическая основа, гарантировано работает одинаково под Win и Linux. То, что может вызвать проблему, всякие расширения, аппаратно реализованные шейдеры, вам не надо.
Снег Север
А можно почитать ваши труды? Буду признателен вам за это.
А можно почитать ваши труды? Буду признателен вам за это.
Снег Север писал(а):гарантировано
Я бы хотел узнать, когда ты в последний раз запускал GLScene на Linux? Когда в последний раз устанавливал его в Lazarus на Linux?
IStukalov писал(а):А какие есть библиотеки, которые позволят рисовать любые геометрические фигуры и в принципе она будет работать одинаково как на Win так и на Linux?
Может вот это подойдёт? BGRABitmap
- Снег Север
- долгожитель
- Сообщения: 3071
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
IStukalov писал(а):А можно почитать ваши труды? Буду признателен вам за это.
Увы, нет. Правообладателем кода является фирма. в которой я тогда работал. Впрочем, там не было ничего очень оригинального, в основном - адаптированные стандартные примеры GLScene.
Снег Север
Ясно.
Seenkao
Попробую.
По факту повторюсь, нужна не анимация и геймдизайн, а по сути геометрия в 2D и 3D для моделирования объектов.
Добавлено спустя 4 часа 13 минут 49 секунд:
Нашел похожую тему, там продолжу общение. Если конечно дадут ответы
Тут уже в сторону уход.
Ясно.
Seenkao
Попробую.
По факту повторюсь, нужна не анимация и геймдизайн, а по сути геометрия в 2D и 3D для моделирования объектов.
Добавлено спустя 4 часа 13 минут 49 секунд:
Нашел похожую тему, там продолжу общение. Если конечно дадут ответы
