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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2023, 19:17   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию Rectangle или ScanLine

Вопрос такой: что быстрее заполнит прямоугольную область каким-то цветом?
Canvas.Rectangle или же циклом через ScanLine заполнить все пиксели?
Kronos913 вне форума Ответить с цитированием
Старый 16.10.2023, 20:52   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Сообщение от Kronos913 Посмотреть сообщение
опрос такой: что быстрее заполнит прямоугольную область каким-то цветом?
fillrect

Цитата:
Сообщение от Kronos913 Посмотреть сообщение
или же циклом через ScanLine заполнить все пиксели?
В цикле будет медленно. Если вызвать ScanLine один раз перед циклами, для получения базы, то можно разогнать.
p51x вне форума Ответить с цитированием
Старый 17.10.2023, 00:01   #3
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию

А как один раз его вызывать?

Я видел только построчный вызов - по разу на каждую строку
Kronos913 вне форума Ответить с цитированием
Старый 17.10.2023, 07:53   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Ну так поискал бы оптимизация ScanLine, меньше вызов, ... или б сами подумали.
https://www.davdata.nl/math/drawing1.html
https://blog.dummzeuch.de/2019/12/12...lls-in-delphi/
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
непонятные явления со ScanLine Михаил22042016 Помощь студентам 0 06.05.2016 05:13
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Rectangle::~Rectangle(void)" (??1Rectangle@@QAE Dimka-novitsek Общие вопросы C/C++ 4 15.10.2014 13:34
ScanLine ijonhson C++ Builder 1 28.03.2013 06:31
Работа со ScanLine ofx C++ Builder 1 22.08.2012 20:36
класс Rectangle совпадает с функцией Rectangle sofen.ru Общие вопросы C/C++ 5 06.11.2010 14:32