Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Зумирование экрана Добавлено: 08.04.07 12:48  

Автор вопроса:  -АлександР- | Web-сайт: sham.clan.su
Привет всем!

Как сделать зумирование (масштабирование) экрана? (готовых кодов не предлагать!!! :))

Ситуация: есть PictureBox, на нем нарисованы линии, другие примитивы..., которые являются объектами. Так вот: как сделать, чтобы не изменяя кординаты этих объектов, зумировать их?

Какие идеи по этому поводу кто может предложить?

Заранее спасибо!

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 mechanical_man



Вопросов: 17
Ответов: 10
 Профиль | | #1 Добавлено: 08.04.07 14:57
 От себя посоветую так: увеличить примитивы то можно попробовать рисовать их в памяти, а не непосредственно на PictureBoxе, а при зуммировании изменять размеры создаваемого в памяти изображения. У PictureBoxа свойство
size mode вставить как normal. Должно работать...
А от готовых кодов зря отказался :)

Ответить

Номер ответа: 2
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #2 Добавлено: 08.04.07 17:50
Как сделать зумирование (масштабирование) экрана?

Легко!
Для этого надо всего лишь напрячь извилину! И внимательно посмотреть на конструкторы объекта Bitmap. В одном из них в качестве параметра можно указать исходный битмап и размеры будущего изображения. Далее присмотреться в методу Clone того же объекта Bitmap, который позволяет выдернуть участок изображения.. ну и наконец взглянуть и разобраться с классом Matrix, который при грамотном подходе тоже будет совсем не лишним..

Ответить

Номер ответа: 3
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #3
Добавлено: 08.04.07 20:31
EROS

Да я как-то уже использовал такие вещи, но полагаю, что с конструктором - это не прокатит по одной простой причине (я о ней умолчал): все это будет происходить в событии MouseWheel в зависимости от скрола мыши, изменение масштаба должно быть очень быстрым,фактически до 100 или может быть даже до 1000чи раз в секунду.

Сколько ж раз битмап мне нужно будет создавать. Такогопо-моему не выдержит даже он




mechanical_man

От себя посоветую так: увеличить примитивы то можно попробовать рисовать их в памяти


При этом другая проблема: координаты объектов должны оставаться такими же...

EROS

У меня все рисование происходит из Paint, значит нужно всю отрисовку сделать через битмап?


Docal, шустрый, однако

Ответить

Номер ответа: 4
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #4
Добавлено: 08.04.07 20:32
EROS
Может есть какая-нить ф-я на подобии StretchBlt? Если да, то она должна быть результативнее

Ответить

Номер ответа: 5
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #5 Добавлено: 08.04.07 23:11
У меня все рисование происходит из Paint,

Ну раз ты все в Paint делаешь, и скорость может доходить до 1000 изменений в секунду!! (хотя мне кажется это полным бредом.. глаз не в состоянии будет уловить ичменения с такой частотой.. и я ума не приложу где возможны такие условия), то тебе лучше всего будет рыть в сторону Matrix. Правда на скорость я его не тестировал но масштабирует великолепно в любом направлении..
А вообще тут основную роль будет играть размер изображения.. если он не слишком велик то и простого Bitmapa будет достаточно. В любом случае придется проводить тесты на скорость во всех возможных вариантах, раз приложение настолько критично к скорости..

Ответить

Номер ответа: 6
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #6
Добавлено: 12.04.07 23:26
то тебе лучше всего будет рыть в сторону Matrix
да, спасибо, EROS, разобрался. Оно самое то, что нужно!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам