|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.01.2008, 11:20 | #1 |
Форумчанин
Регистрация: 27.07.2007
Сообщений: 123
|
Как быстро переверннуть(отразить) изображение?
нужно перевернуть изображение, файл загружается в image и по кнопке нужно чтобы изображение поворачиволось на 90 градусов. я делал по принципу транспонирования матрицы (менял местами столбцы и строки(tbitmap) - но это не очень рационально). Может знаете более быстрый способ поворота?
зы: размеры изображения гдето 2000х1500 точек
Ну что ж… Жизнь иногда такие фертеля выкидывает, что и фантасту не приснится…
|
10.01.2008, 11:33 | #2 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Создать дополнительный битмап, сначала пустой. В него с помощью ScanLine копировать строку за строкой, только в нем это уже будут столбцы. После завершения отобразить дополнительный битмап, он теперь станет основным, а тот дополнительным.
Медленно это происходит из за медленного доступа к свойству Canvas.Pixels. Если надо сделать быстрее, то вначале битмап можно скопировать в обычную матрицу of integer нужных размеров. В ней доступ будет намного быстрее. По завершению поворота, попробовать передать указатель на эту матрицу в битмап (этот шаг на практике я не делал, но можно попробовать).
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)
Проверь себя! Онлайн тестирование | Мой блог |
10.01.2008, 12:51 | #3 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Отразить быстро можно через StrechBlt с отрицательными значениями
А повернуть на 90 (и ещё много чего) - библиотека FastDIB http://sourceforge.net/project/showf...roup_id=173551 ф-ция Rotate90CW
пыщь
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нарисовать,стереть,повернуть,отразить в паскале! | Барби | Помощь студентам | 2 | 23.04.2008 00:24 |
Дана матрица размера M*N.Зеркально отразить ее элементы | Ильдар ХАЛИКОВ | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 09.04.2008 22:22 |
Быстро и удобно! | Shurik Hacker | Софт | 0 | 12.01.2008 12:54 |
Быстро получить цвет пикселя... | prizrak1390 | Мультимедиа в Delphi | 4 | 09.01.2008 20:28 |