И который из них настоящий
Этот топик читают: Гость
Ответов: 9906
Рейтинг: 351
|
|||
карма: 9 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Galkov, тот, который больше размером. Старый для сравнения удалять не стал.
------------ Дoбавленo: У меня идея родилась -- добаить сглаживание, но это тормознет обработку пропорционально коэффициенту сглаживания (от 0 до 4). Все таки программное, а не аппаратное сглаживание. Да и памяти сожрет во столько же раз больше. |
|||
карма: 22 |
|
Ответов: 8926
Рейтинг: 823
|
|||
nesco, ну оооочень хорошо! Молодец!
Сглаживание, конечно, уменьшит накапливание искажений при повороте уже повёрнутой картинки - не стоит овчинка выделки; даёшь скорость! |
|||
карма: 19 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Леонид писал(а): при повороте уже повёрнутой картинки |
|||
карма: 22 |
| ||
Голосовали: | Валерий |
Ответов: 9906
Рейтинг: 351
|
|||
nesco писал(а): Нужно, минимум, квадральное сглаживаниеЧеловеческим языком расскажи, пожалуйста Заодно и про "билинейную" BTW: Использование сленга заставляет задумываться о том, что некто хочет показаться крутым Глупо, и по-детски, ИМХО Настоящая крутость наступает только тогда, когда у тебя ПОЛНОСТЬЮ пропадает потребность кому-то кем-то показываться |
|||
карма: 9 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Galkov писал(а): Глупо, и по-детскиБилинейное саживание самое простое -- делается две копии рисунка, но одна смещается по отношению к другой на один пиксель по диагонали, заполнение отсутствующих пикселей происхоит цветом фона (или глубиной альфа-канала). При расчете усредненного цвета пикселя целевой картинки испоьзуется матрица обоих картинок источников, размером 2х2, нечетные -- из первой картинки, четные -- из второй. В квадральной тоже самое, но уже нужно четыре картинки, смещенные по трем диагональным улам, матрица, в данном случе, буде уже 4х4. ------------ Дoбавленo: Вот последняя версия. Несколько тюнингованная, за счет применения других типов данных и измененного битового копирования; рисунок при кратном повороте (0, 90, 180, 270,360) -- 32-х битный, при повороте -- 24-х битный. Результат -- 39 сек [72 мсек]. Как еще ускорить, и возможно ли это вообще, я уже не знаю. |
|||
карма: 22 |
| ||
файлы: 1 | image_rotate_1_25.zip [14.1KB] [219] |
Ответов: 9906
Рейтинг: 351
|
|||
А по моему, так надо:
Смешать их цвета в нужных пропорциях, и всего делов, вроде бы. Откуда учетверение памяти, какие матрицы - не пойму никак... |
|||
карма: 9 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Помог бы откорректировать, особенно первые четыре пункта.
|
|||
карма: 22 |
|
Ответов: 5227
Рейтинг: 587
|
|||
nesco - просто хочу СПАСИБО! , давно была необходимость в этом компоненте, есть некоторые задумки, хочу попробовать...
|
|||
карма: 4 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Да по-моему, после такого:
nesco писал(а): Честно говоря, я не ожидал такого результата -- при большом экране она дольше выводится, чем поворачиваеИ с этого начинать... У элемента у нутре должно быть две картинки одинакового размера: оригинал, и "повернутая" Первая может быть св-м, может грузиться методом типа doLoad, не важно, главное, что в процессе работы НИКАКИХ операций с динамической памятью не производить Один раз загрузил оригинал (создались две картинки) Тьму раз сказал doRotate: происходит ТОЛЬКО рисование первой, неким хитрым (с размешиванием, или без...) макаром на второй Вторая картинка может быть на нижней точке: кому надо, тот отрисует (тоже, между прочим, обыкновенный BitBlt безо всякой динамики, условно) этот результат там где ему приспичит: с прозрачностью там, или без... Собственно -- и все... Это база, с нее логично начинать, а потом уже прилизывать коды, сколько твоей душеньке угодно... Вплоть до "размешивания с копированием" на asm-е... Тоже ведь ничего военного... |
|||
карма: 9 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Galkov, я одного понять не могу -- валялся компонент несколько лет в аплоаде, никому нафиг не надо было его переделывать. Только я взялся его немного довести рабочего состояния, как тут же пояаились кучи идей -- как надо и как не надо. Была поставлена задача Леонидом, добиться скорости похожей на Фотошоп, я ее достиг. Хочешь довести до ума, доводи -- я больше, ничего не хочу, тк как нет предела совершенства.
|
|||
карма: 22 |
| ||
Голосовали: | Эдик |
Ответов: 9906
Рейтинг: 351
|
|||
Чего там непонятного
Если не делать, значит другие проблемы есть Если делать, значит делать хорошо сразу Потому-что делать его пять раз - опять же и другие проблемы тоже есть |
|||
карма: 9 |
|
Ответов: 8926
Рейтинг: 823
|
|||
nesco, задачу поставил -=Driver=-, я пытался помочь, но не смог
Galkov, хорошо сразу редко получается, чаще "как всегда" |
|||
карма: 19 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Леонид писал(а): задачу поставил -=Driver=-А насчет двух картинок, то я не согласен. Возможно, что оригинал и надо держать загруженным, но вот фоновую картинку-то зачем? В компоненте, полученная картинка выводится наружу, зачем ее еще и отрисовывать на чем-то. А если мне нужна сама картинка, а не ее отрисовка, что тогда? Откуда взялось такое мнение, что графические компоненты непременно должны что-то отрисовывать на экране? |
|||
карма: 22 |
|
Ответов: 817
Рейтинг: 52
|
|||
nesco,
Огроменное СПАСИБО ! nescoimage_rotate_1_25 Это что надо, работает быстро и качественно Повороты поградусно мне не нужны, поэтому я доволен на 100% СПАСИБО |
|||
карма: 1 |
|