Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Реализация выделения полупрозрачным прямоугольником

12K
08 февраля 2006 года
phoenix_87
20 / / 01.02.2006
Добрый день!
Какие вы можете предложить способы реализации полупрозрачного прямоугольника выделения? (примерно как в Eplorer WinXP) (DrawFocusRect - не предлагать - т.к. это только рамка).
У меня вся графика на GDI+, а алгоритм примерно такой:
1.Кликаем: запомнили фоновую картинку.
2.Тянем мышь: при растяжении(прямоугольник увеличивается) - дорисовуем прямоугольник там где его не хватает до текущих координат указателя, при сжатии(прямоугольник уменьшается)- рисуем часть фоновой картинки там, где ее не хватает.
3.Отпускаем: - отрисовуем всю фоновую картинку.
Недостатки: хранение фоновой картинки(особенно если она большая) требует много памяти.

Для hardcase:
В GPImage я запоминал фоновую картинку имэджа с помощью потоков. Как ты правильно заметил, операции с ними требуют много времени и памяти. Получается, что как мы кликаем на Image, занимаемая память увеличивается в разы. Как отпускаем - освобождается до исходной.
Цитата:
Originally posted by hardcase
Мне так, кажется, лучше сразу рисовать изображение в TGPImage - это будет быстрее, чем потом конвертить их тудым-сюдым.


Сделал как ты говоришь. В общем не буду много писать, выкладываю исходники:
TSelection.rar - запоминание с пом. стримов
TSelection(Memory).rar - изображение сразу рисуется в TGPImage
там в ридми все расписано.

Может как-то можно сделать, чтоб не запоминать всю фоновую картинку? Буду благодарен за любые идеи и предложения.

P.S. Может кому пригодится - качайте наздоровье, используйте где хотите.

12K
08 февраля 2006 года
phoenix_87
20 / / 01.02.2006
Да кстати, для компиляции необходимы заголовки GDI+. Если у кого нет - выкладываю (80 Кб):

P.S. для работы - нужна gdiplus.dll (входит в состав WinXP). У кого Win9x и нет gdiplus.dll - скорее всего пахать не будет.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог