| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > обрезать картинку по кругу |
| Автор: Тьма 23.8.2006, 11:26 |
| доброго времени суток сабж. картинка квадратная, диаметр круга равен стороне квадрата. я вижу два решения этой проблемы, и они мне не нравятся: 1 все точки, которые находятся вне круга делать прозрачными путем перебора каждой точки рисунка (хоть рисунок небольшой, но все равно медленный способ) 2 путем перебора каждой линии доходить до первой точки которая принадлежит кругу, и делать тоже самое в обратном направлении в той же линии, всепрйденые точки делать прозрачными(этот способ несколько быстрее т. к. перебираются не все точки) |
| Автор: Alexeis 23.8.2006, 13:54 | ||||||||||||
| Для рисования непрямоугльных областей, удобно работать с регионами. Вот пример: Берем чистый проет бросаем на него кнопку, панельку, а на панельку paintbox. Кидаем Image на форму и грузим в нее картинку. теперь рисуем 1) создаем регион. Он может быть прямоугольным, эллиптическим, прямоугольником с закруглеными краями или любой комбинацией перечисленных. пример:
2)Устанавливаем область вывода контекста в виде нашего региона
3)Рисуем в указаной области
4)Устанавливаем стандартную область вывода
5)Уничтожаем регион
Вот пример целиком
|
| Автор: Тьма 23.8.2006, 14:25 | ||
интерестно, спасибо, с меня плюс
насколько я понимаю это можно использовать и для невидимых битмапов? |
| Автор: Alexeis 23.8.2006, 16:11 | ||
А вот вывод на bitmap
|
| Автор: Тьма 23.8.2006, 16:21 |
| ну я так и думал, спасибо |