|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.06.2010, 13:23 | #1 |
Новичок
Джуниор
Регистрация: 09.06.2010
Сообщений: 1
|
Раскладка рисунков
Имеется произвольный контур (фотография куска кожи), необходимо разместить на нем определенное число заготовок сложной формы (тоже картинки) так, чтобы заготовки можно было перетаскивать по поверхности кожи мышью и поворачивать на любой угол. Подскажите, как это лучше реализовать средствами Delphi? Заранее спасибо.
|
10.06.2010, 10:19 | #2 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
1. Используйте буферизацию (обсуждалось, юзайте поиск по форуму).
2. Лучше используйте TPaintBox для вывода на экран. 3. Перетаскивание тоже обсуждалось, по сути это просто отрисовка объекта в новых координатах, для этого и нужен буфер, чтобы исходное изображение оставалось неизменным, а рисовать поверх него объекты в буфере, затем вывод на экран. Для перетаскивания вам нужно обрабатывать событие OnMouseMove и его параметр Shift, либо дополнительно OnMouseDown, это заменит параметр Shift, тогда нужно объявить глобальную переменную-флаг типа boolean и по OnMouseUp сбрасывать его. 4. Самое сложное это поворот. Тут два пути, либо "растровый" поворот, либо "векторный", в зависимости что вы хотите поворачивать. Для первого ищите "поворот битмапа на произвольный угол Delphi". Векторным можно крутить всяческие графические примитивы и их комбинации, т.е. вокруг оси поворачивается не все изображение, а точки сочленения и между ними рисуются линии. Скорее всего вам нужен первый тип поворота.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Раскладка клавиатуры | Vladya | Помощь студентам | 10 | 21.05.2010 22:14 |
раскладка клавиатуры | varelik | Общие вопросы Delphi | 4 | 07.12.2009 16:14 |
Раскладка клавиатуры | bracomp | Операционные системы общие вопросы | 11 | 04.11.2009 21:45 |
Не переключается раскладка | Puxtak | Свободное общение | 20 | 15.03.2009 00:15 |
Раскладка | Cabal777 | Помощь студентам | 3 | 23.12.2007 15:45 |