![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 27.07.2007
Сообщений: 123
|
![]()
нужно перевернуть изображение, файл загружается в image и по кнопке нужно чтобы изображение поворачиволось на 90 градусов. я делал по принципу транспонирования матрицы (менял местами столбцы и строки(tbitmap) - но это не очень рационально). Может знаете более быстрый способ поворота?
зы: размеры изображения гдето 2000х1500 точек
Ну что ж… Жизнь иногда такие фертеля выкидывает, что и фантасту не приснится…
![]() |
![]() |
![]() |
![]() |
#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)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#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 |