|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.02.2011, 12:52 | #1 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
Масштабирование
В компоненте Image нарисован некий рисунок с помощью метода Canvas, как можно сделать, чтобы при вращении колесика изменялся масштаб рисунка, а не размеры Image. И как сделать чтобы при нажатой кнопке мыши можно было перетаскивать рисунок в компоненте, а не сам компонент Image?
даешь высокое напряжение
|
20.02.2011, 13:05 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А почему бы не перетаскивать и не масштабировать сам компонент?
I'm learning to live...
|
20.02.2011, 13:06 | #3 |
DelphiProger
Участник клуба
Регистрация: 14.11.2010
Сообщений: 1,023
|
помести имадже на панел, у панел отключи скролы, и увиличиваи именно едо размер
ефект будит как маштабирование вес код вложи врушную, потом заиди в инспектор -> события и выбери у каждого имаиджа по 3 аналогичных события Код:
VirusN13
|
20.02.2011, 14:50 | #4 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
Просто если изменять размер Image это не влияет на рисунок (рисунок не BitMap а с помощью Canvas). AutoSize и Strech не изменяют его размеров вообще.
даешь высокое напряжение
|
20.02.2011, 18:13 | #5 |
Подтвердите свой е-майл
Регистрация: 19.12.2010
Сообщений: 808
|
Информация к размышлению:
Код:
|
20.02.2011, 19:17 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
20.02.2011, 20:52 | #7 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
Рисунок выведен канвой, это не битмап, чтобы его размеры менялись. )))
Колесиком менять свойства длины-ширины (масштабировать) почему-то не получается (даже когда загружен TBitMap в Image.Picture), а если поставить две кнопки ("+" и "-") то все отлично. Ну я в целом задачу решил: 1)сохраняю область канвы в битмап-файл, 2)далее Image1.Pictire:= nil, 3)а потом в Image1.Picture загружаю этот битмап. Только теперь можно применять свойства AutoSize и Strech. Может это и не очень грамотно, но пока что я пришел только к такому решению. ))) -Что можно сделать, чтобы свойство Strech так сильно не искажало рисунок при масштабировании? Или можно использовать другие варианы вместо Strech? -Как сделать перемещение обоих скроллеров в ScrollBoxe, когда нажата и удерживается кнопка мыши? (похоже на команду из автокада: "панорамирование"). Вроде навигации по рисунку.
даешь высокое напряжение
|
21.02.2011, 00:50 | #8 | |
DelphiProger
Участник клуба
Регистрация: 14.11.2010
Сообщений: 1,023
|
ScrollBox отключаеш оба скрола
Image1.Stretch := True; ет увеличение Код:
еффект маштабирования есть проверял Цитата:
не просто читаи посты, попробуи, а еффект на практике увидиш
VirusN13
|
|
21.02.2011, 07:35 | #9 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Вот, выдрал из старого проекта: Масштабирование Image.zip
То же самое без ScrollBox'а: Масштабирование Image (без ScrollBox).zip Последний раз редактировалось Sibedir; 21.02.2011 в 08:23. |
26.02.2011, 19:46 | #10 |
DelphiProger
Участник клуба
Регистрация: 14.11.2010
Сообщений: 1,023
|
вам придложили 2 варианта на словах, 2 варианта готовых залили,
а вам даже лень подставить код и проверить ефект и посмотреть что не так в проекте что б исправить SCAD, ColorUnit, в вариантах Sibedir надо убрать ети 2 модуля, не знаю если они нужны для чего то еще но просто увидеть ефект вы сможете
VirusN13
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
WebBrowser - Масштабирование | MyIE | Общие вопросы Delphi | 3 | 04.04.2010 19:17 |
Масштабирование | Град | Microsoft Office Excel | 6 | 24.10.2008 09:23 |
масштабирование | Alex_Pro | Общие вопросы .NET | 0 | 21.05.2008 18:21 |
масштабирование | lenivec | Общие вопросы Delphi | 1 | 23.02.2008 07:07 |
Масштабирование Формы | SERG1980 | Общие вопросы Delphi | 1 | 28.03.2007 12:28 |