| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Бесконечный холст и Полосы прокрутки |
| Автор: IvanoffAndrey 12.7.2009, 10:36 |
| Здравствуйте форумчане. Разрабатываю редактор графов - то есть такую штуку которая позволяет рисовать различные диаграммы и т.д. Подскажите пожалуйста как можно организовать логику программы если хочется сделать бесконечный холст для рисования. Например в редакторе диаграмм DIA холст бесконечен, а при сохранении диаграммы как рисунка он обрезается и оставляется только диаграмма вне зависимости от ее размера. Итак, резюмирую - как организовать имитацию бесконечного холста для TImage и как в этом случае прикрутить к нему полосы прокрутки? |
| Автор: cemick 12.7.2009, 11:57 |
| Для TImage ни как, памяти под битмап не хватит=), можно только если рисовать будешь на ScroollBox, тут тебе надо будет хранить все нарисованные объекты в памяти, а отрисовывать только видимую область, хотя таким же макаром можно сделать и c TImage фиксированного размера, кинутым на scrollBox. Если пойдеш таким путем, то надо будет позаботится о пересчете координат реальных в относительные видимой области. |
| Автор: IvanoffAndrey 12.7.2009, 18:58 |
| cemick - спасибо, понял. А как вы думаете если предоставить пользователю выбрать размер холста на котором он собирается рисовать перед началом рабоы - как например в ворде или в фотошопе? Будут ли против такого варианта пользователи? Может какие мнения по этому счету. Конечно не всегда диаграмму можно уместить на том поле о котором думал в начале, надо будет тогда предусматривать средства расширения холста. |