Страница 1 из 1
TCanvas.DrawPixel
Добавлено: 30.03.2022 13:41:39
IStukalov
Добрый день.
Подскажите пожалуйста, есть метод DrawPixel у класса TCanvas. В методе есть параметр: const newcolor: TFPColor. Собственно я его посмотрел и получается, что она передавать именно структуру? Я правильно понимаю? Плюс данная структура определена в FPImage. Поэтому данный файл нужно подключить в своем модуле, где я делаю вызов этого метода? Или можно как-то по другому задать цвет?
Сейчас начал изучение по работе с графиков. Требуется для написания небольшой программы, которая облегчит жизнь в части подготовки планирования расположения разных предметов в замкнутом пространстве.
Re: TCanvas.DrawPixel
Добавлено: 30.03.2022 15:28:45
iskander
IStukalov писал(а):Собственно я его посмотрел и получается, что она передавать именно структуру? Я правильно понимаю?
Да.
IStukalov писал(а):Плюс данная структура определена в FPImage. Поэтому данный файл нужно подключить в своем модуле, где я делаю вызов этого метода? Или можно как-то по другому задать цвет?
В модуле Graphics есть, например, функция TColorToFPColor(), так что если ограничиться чем-то вроде
Код: Выделить всё
...
Canvas.DrawPixel(10, 10, TColorToFPColor($808080));
...
Canvas.DrawPixel(20, 20, TColorToFPColor(clGreen));
...
то FPImage можно наверное не подключать, если это важно.
Re: TCanvas.DrawPixel
Добавлено: 30.03.2022 15:32:27
IStukalov
iskanderСпасибо! Попробую. Если не сложится вернусь

PS На дельфи7 столько было справочной информации и в одном месте, а тут конечно много и в интернете не получается найти хорошего.
Re: TCanvas.DrawPixel
Добавлено: 31.03.2022 05:44:09
Снег Север
Ьеня удивляет зачем люди тратят массу времени на изучение заведомо устаревшей фигни, вроде рисования на Canvas. Людям, которые хотят делать какие-либо графические приложения на паскале, я бы настоятельно рекомендовал начать с GLScene -
http://glscene.sourceforge.net/wikka/ - есть пакет под лазарус, масса примеров, в основном - кроссплатформенная.
Re: TCanvas.DrawPixel
Добавлено: 31.03.2022 08:32:20
Seenkao
Снег Север, для новичка это проще. Если каждый будет себя вспоминать, то будет вспоминать, какой "страх" испытывал что надо изучать какие-то библиотеки, в которых всё сложно.
Это потом приходит понимание этих библиотек и ими начинаешь пользоваться без труда. Но изучать-то всё равно приходится.
А GLScene не лучший вариант, он не работает нормально на Linux его допиливать надо. Что говорить, он даже под Windows не везде корректно работает для FPC/Lazarus. Эта библиотека больше настроена под Delphi.
Потому лучше скидывать ссылки на список библиотек, из которых можно выбрать.
https://wiki.freepascal.org/Games - здесь можно увидеть их именно для FPC/Lazarus.
Re: TCanvas.DrawPixel
Добавлено: 31.03.2022 18:24:49
IStukalov
Снег СеверЯ во общем то не собираюсь заниматься анимацией/играми

Мне нужны простые примитивы пока что, с помощью которых я буду рисовать разные геометрические фигуры (прямоугольник, квадрат, треугольник, дуга, эллипс/овал, круг) в области координат XY и XYZ.
Почему я решил использовать стандартные вещи? Потому что мне их будет достаточно для изучения пока что. Но уже правда столкнулся с проблемой, которая как я понимаю часто у многих возникает (мерцание при передвижении фигуры вверх или влево, пока читаю интернет как это обойти).
SeenkaoА какие есть библиотеки, которые позволят рисовать любые геометрические фигуры и в принципе она будет работать одинаково как на Win так и на Linux? И в принципе не планирую изучать графику для создания игр или анимации. Изучаю графику, чтобы можно было создавать/моделировать объекты (грубо говоря прототипы мебели, окон, дверей и прочее).
Re: TCanvas.DrawPixel
Добавлено: 31.03.2022 20:28:07
Снег Север
IStukalov, я еще лет десять назад делал образовательную программу для школьников - геометрия и стереометрия, с реализацией графики на GLScene. Да, на делфи, но сейчас там в основном допилили и лазарь. Для неигровой графики - более чем достаточно. OpenGL - графическая основа, гарантировано работает одинаково под Win и Linux. То, что может вызвать проблему, всякие расширения, аппаратно реализованные шейдеры, вам не надо.
Re: TCanvas.DrawPixel
Добавлено: 31.03.2022 20:50:33
IStukalov
Снег Север
А можно почитать ваши труды? Буду признателен вам за это.
Re: TCanvas.DrawPixel
Добавлено: 31.03.2022 21:29:46
Seenkao
Снег Север писал(а):гарантировано
Я бы хотел узнать, когда ты в последний раз запускал GLScene на Linux? Когда в последний раз устанавливал его в Lazarus на Linux?
IStukalov писал(а):А какие есть библиотеки, которые позволят рисовать любые геометрические фигуры и в принципе она будет работать одинаково как на Win так и на Linux?
Может вот это подойдёт?
BGRABitmap
Re: TCanvas.DrawPixel
Добавлено: 01.04.2022 04:59:24
Снег Север
IStukalov писал(а):А можно почитать ваши труды? Буду признателен вам за это.
Увы, нет. Правообладателем кода является фирма. в которой я тогда работал. Впрочем, там не было ничего очень оригинального, в основном - адаптированные стандартные примеры GLScene.
Re: TCanvas.DrawPixel
Добавлено: 01.04.2022 13:10:24
IStukalov
Снег СеверЯсно.
SeenkaoПопробую.
По факту повторюсь, нужна не анимация и геймдизайн, а по сути геометрия в 2D и 3D для моделирования объектов.
Добавлено спустя 4 часа 13 минут 49 секунд:Нашел похожую тему, там продолжу общение. Если конечно дадут ответы

Тут уже в сторону уход.