Доброе время суток, уважаемые эксперты! Существует ли способ быстрого рисования на канве? Ну, что-то по типу: рисуем в памяти, затем выводим на канву.?! И еще один вопрос: Насколько работа с динамическим массивом медленнее работы с обычным массивом? Я писал програмку на Celeron, маленькую! Загружаем файл, обрабатываем массив, затем выводим линии на канву (около 16000 линий). Эта програмка в 500 к еле двигается на 486. Что это - работа с массивом или вывод изображения? Заранее благодарен! Vitally.
Доброе время суток, Vitally! Если ты используешь TImage, то можно изменять картинку в чистом виде, как она хранится в памяти(см. приложение)
Приложение: Ответ отправлен: 09.07.2002, 09:21 Отправитель: Necro Отвечает veei
Здравствуйте, Vitally! Попробуй так: ... var b : TBitmap; ... begin ... b := TBitmap.Create; ... YourCanvas.Draw(x, y, b); ... end; ... Или создай объект типа TCanvas нарисуй на нем что нужно и скопируй на свою канву методом CopyRect.
Ответ отправлен: 10.07.2002, 04:56 Отправитель: veei Отвечает Артём Шегеда
Добрый день, Vitally! Вообще-то так обычно и поступают - рисуют в памяти, а потом копируют битмап на форму. Как это делается - в приложении. Скорость работы с динамическим массивом гораздо ниже, чем с обычным массивом, размещённым в пвмяти, поскольку динамический массив - это структура, содержащая море информации, в том числе и указатель на данные. Каждое взятие нового элемента требует обращения к этой структуре, а затем - к данным. Так что - думай. По-моему, проще GetMem/FreeMem.
Приложение: Ответ отправлен: 09.07.2002, 14:14 Отправитель: Артём Шегеда Отвечает ALastorZ
Добрый день, Vitally! Посмотри хелпы по поводу разрешения/запрещения автоматической прорисовки канвы и соответственно ручной прорисовки (помоему делается так) Ответ отправлен: 10.07.2002, 08:39 Отправитель: ALastorZ
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.