![]() |
Модераторы: Snowy, Alexeis, MetalFan |
![]() ![]() ![]() |
|
Vaskevych |
|
|||
![]() Delphi Developer Профиль Группа: Участник Сообщений: 43 Регистрация: 30.12.2009 Где: UA. Rovno Репутация: нет Всего: нет |
Помогите с алгоритмом вращения изображения, в частности интересует PNG работаю под XE2.
Всем заранее спасибо. |
|||
|
||||
TSerg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 9.10.2012 Репутация: нет Всего: нет |
Отделите "котлеты от мух".
1. Чтение файла в том или ином формате в bimap. 2. Вращение bitmap. 3. Визуализация bitmap. 4. Запись bitmap в тот или иной формат. и сразу станет легче. |
|||
|
||||
Illusion Dolphin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 13 Всего: 63 |
Вот это и требуется в качестве. Плюсую вопрос. -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 5 Всего: 128 |
Illusion Dolphin, а как можно НЕкачественно повернуть битмап? всего-то повернуть массив пикселей...
-------------------- There are always someone smarter than you... |
|||
|
||||
Illusion Dolphin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 13 Всего: 63 |
По алгоритму nearest - брать ближайший пиксель к расчётному. Более качественно - делать перерасчёт в зависимости от соседних, т.к. при пересчёте координат получается "точка" между физическими точками. Это актуально при повороте на углы НЕ гратные 90градусам (1,2,5, 0.5 градуса итд). Т.е. типа поворота с antialiasing. -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 5 Всего: 128 |
Illusion Dolphin, сорри, как-то в голову не пришло про некратные углы.
Может для облегчения жизни функционалом gdi+ воспользоваться? -------------------- There are always someone smarter than you... |
|||
|
||||
Illusion Dolphin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 13 Всего: 63 |
Да, это один из вариантов, но мне интересно преобразование TBitmap->rotate->TBitmap, а с GDI+ я вижу это: TBitmap->GdipCreateBitmapFromScan0(думаю быстрее, чем через стрим)->GDIRotate->GdipSaveImageToStream->TBitmap.LoadFromStream - и это много лишних этапов. У меня на входе битмап и на выходе тоже. -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 5 Всего: 128 |
Illusion Dolphin, ну если нужно битмап рисовать, то можно тем же gdi+ опять же... и вообще от TBitmap отказаться... будет меньше лишних этапов.
-------------------- There are always someone smarter than you... |
|||
|
||||
TSerg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 9.10.2012 Репутация: нет Всего: нет |
и т.д. Модератор: не забывайте использовать кнопочку код. Это сообщение отредактировал(а) Alexeis - 12.10.2012, 10:31 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Звук, графика и видео" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |