0 Members and 1 Guest are viewing this topic.
Вот только онлайн обработка таких эффектов будет ещё тяжелее для компа, чем обычный блюр.
Ты не прав. Блюр очень требователен к ресурсам - для каждого пикселя задействуются несколько соседних, и чем больше уровень размытия, тем больше соседних нужно. В этих же эффектах идет работа только с одним пикселем. Проблема лишь одна - алгоритмы, нужно найти их описание.
Я не точно выразился. Когда я писал про фотошопоэффекты - имел ввиду не просто цветокоррекцию (она, понятное дело, не самая тяжёлая), я имел ввиду в том числе и более сложные эффекты. Сечас, правда, уже и не вспомню, что именно я хотел применить.
Для таких эффектов нужно писать новый движок, работающий с новыми технологиями обработки графики через гпу, как минимум. Вообще не плохо бы замутить такой. DirectX 12, Open CL и что там еще есть.
Зачем это простому аудиоплееру?)
Сейчас если наложить просто полупрозрачную чёрную панель с размытием поверх обложки альбома, то не всегда это выглядит хорошо, например, поверх тёмных или чёрных обложек альбомов.
Насколько я понимаю, то что приведено в старттопике соответствует следующим фотошоповским методам наложения:Перекрытие - OverlayРазница - SubtractЦветность - HueЦветовой тон - ColorИсключение - ExclusionКомбинация - Difference ?Неплохо бы добавить сюда и осветляющие режимы, хотя бы Screen.Возможно, это взято из русскоязычного фотошопа, у меня только английский. Когда-то давно имел глупость поставить русифицированный Фотошоп 7 (не CS7) - так знакомых команд не узнал, снёс в тот же день.
Можно вообще все режимы из фотошопа перенести, я только за.
Математику я нашел в вики.
Неужели нет готовых библиотек для Delphi с подобными функциями? Ты собираешься это попиксельно обрабатывать?Тогда надо ещё, чтоб хотя бы из скриптов были доступны эти режимы и их параметры.
HueColor
А что дадут готовые библиотеки? Оно ведь все равно все сводится к попиксельной обработке.
Color - это ж вроде просто наложение цвета?
Ну, там, может, ассемблерные вставки при обработке растра.
Как я понимаю, эффект наложения применяется лишь к крышке самого элемента? Быть может, стоит сделать BlendingMode на уровне самого элемента, т.е. чтобы он со всем своим содержимым определенным образом накладывался на фон?
... Быть может, стоит сделать BlendingMode на уровне самого элемента, т.е. чтобы он со всем своим содержимым определенным образом накладывался на фон?
Мне кажется, на фон, т.е., что под элементом находится, это не должно влиять, эффекты должны применяться к самомУ элементу от оверлейного кадра.Тут надо ещё подумать, смотря для каких элементов эта фича будет реализована.
Я себе это представлял как отдельное свойство на уровне любого элемента управления, которое говорит, как контент этого элемента смешивается с фоном
А если такой вариант: сделать новый элемент с сабжевыми возможностями, который как раз и будет воздействоватьна всё, что под ним, подобно блюр-стеклу?
Мне кажется, на фон, т.е., что под элементом находится, это не должно влиять, эффекты должны применяться к самомУ элементу от оверлейного кадра.
Ну, первый элемент, что приходит на ум - кавер-дисплей. Зачем ему смешиваться с фоном?
Быть может, стоит сделать BlendingMode на уровне самого элемента, т.е. чтобы он со всем своим содержимым определенным образом накладывался на фон?
Снова здорова, эта тема с этого и начиналась, потом я ее переиначил. У отдельного элемента нет динамики, он статичен, а тут хоть кнопки, хоть аниматор забабахай.
Так не каверу же смешиваться с фоном, а панели поверх кавера смешиваться с фоном панели, то есть с кавером.
Но допустим, добавляем сюда помимо текстовых меток кнопки, и хотим применить один режим наложения для всей панели и её содержимого (меток и кнопок) - как это сделать? Задавать режим наложения и у панели, и у меток и кнопок? А будет ли выглядеть это так, как хотелось, то есть "однородно"?Содержимое панели тоже будет считаться контентом панели? На содержимое тоже применится режим наложения?
У отдельного элемента нет динамики, он статичен,
Но допустим, добавляем сюда помимо текстовых меток кнопки, и хотим применить один режим наложения для всей панели и её содержимого (меток и кнопок) - как это сделать? Задавать режим наложения и у панели, и у меток и кнопок? А будет ли выглядеть это так, как хотелось, то есть "однородно"?
Содержимое панели тоже будет считаться контентом панели? На содержимое тоже применится режим наложения?
Тот же TASEBlurredGlass удачно получился: размывает всё, что под ним, имеет свою текстуру, маску, крышку. Всё логично, прозрачно и понятно.Я вообще пока проголосовал "нейтрален", поскольку чувствую, что всё "не в ту степь" уходит.
Кстати, можно этот элемент и расширить
Ну почему, если у него назначено, чтобы он не реагировал на мышь - все воздействия будут проходить сквозь него на другие элементы.
Если у него останется блюр, да добавятся ещё и эффекты наложения - будет вообще песня.Его одного и будет достаточно для решения всех этих задач.
Мыслите шире, его не будет достаточно, это даст лишь часть возможностей.
Поясните, в какой ситуации его не будет хватать?
Да взять хотя бы тот же прогресс бар, который меняет свой цвет от начала до конца.
И? Если поверх него положить эту чудо-панель, разве что-то не получится?
А зачем поверх него ложить панель, если он сам должен играть роль этой панели.
К примеру, чего не может сделать панель, что может обычный элемент?
... Взять опять таки прогресс из обложки Kibtech 2, он большой и постепенно наплывает на кавер и если бы у него был бы режим наложения, то изображение менялось бы по мере прогресса.
Ну, это частный случай, близкий к экзотическому, не будешь же ты в каждой следующей обложке применять этот эффект - пользователи не поймут.
А такой пример: кавер, над ним только кнопки (без панели) в виде иконок (как в Bliss) и нужно сделать, чтобы сами иконки смешивались с фоном (кавером). Как это сделать с помощью отдельного элемента?
Даже Gauge и сейчас можно сделать с изменением цвета, например, от уровня сигнала, проресс-бар - ещё проще.Видео во вложении.
А зачем это вообще нужно? Картинка может быть весьма пёстрой и что тогда можно будет разобрать на этих кнопках? И сейчас, чтоб вывести текст над кавером, приходится это место под строкой размывать, затемнять или сам текст с обводкой использовать.
Я думал пример про другое - есть прогресс-бар поверх кавера, и эффект наложения применяется только на заполненную часть прогресс-бара.
1. Текст обычно тонкий.2. Иконки вполне "толстые". Тем более их можно сделать крупнее.3. Разобрать можно будет, если к иконкам применить какой-нибудь контрастный эффект наложения.4. А ещё, можно попробовать менять эффект наложения, в зависимости от состояния кнопки.
А что мешает это все комбинировать? Снизу кавер, поверх размытие с маской, еще выше элемент с наложением, выглядеть будет хорошо.
Вы заметили, что все ваши рассуждения о фоне сводятся лишь к этому пресловутому каверу. Может, тогда только с ним и делать что-то. Никому ж в голову не придёт накладывать те же гауге или слайдеры на другие контролы.
Кроме того большинство предпочитают созерцать обложку альбома, как она есть, без всяких посторонних надписей.
О чём пример, вроде, однозначно описано. Какие могут быть сейчас наложения.
Она не может меняться. У кнопок есть 4/6/х состояний, у аниматора кадры и т.д.. Взять опять таки прогресс из обложки Kibtech 2, он большой и постепенно наплывает на кавер и если бы у него был бы режим наложения, то изображение менялось бы по мере прогресса.
По моему я все четко выразил.
Да, но Black_AVP отвечал на эту цитату:
Но в таком случае нужно применять эффект не к элементу управления, а к определенной его зоне.
Ну так остальная часть будет прозрачной и в этой части эффекта наложения не будет видно.
Quote from: Artem on March 10, 2017, 10:16:09Как я понимаю, эффект наложения применяется лишь к крышке самого элемента? Быть может, стоит сделать BlendingMode на уровне самого элемента, т.е. чтобы он со всем своим содержимым определенным образом накладывался на фон?Вообще задумывалось как весь элемент, если не задан кадр, а если задан то только кадр.
Вообще задумывалось как весь элемент, если не задан кадр, а если задан то только кадр.
Так вот вопрос в том, нужно ли реально делать возможность наложения какой-то определенной текстуры в какой-то части элемента. Это заметно сложнее, нежели сделать режим наложения для элемента целиком
Конечно нужно.
Вот я и пытаюсь выпытать сценарии, когда это нужно
Зачем? Главное что бы было, применение найдется.
Даже если эти эффекты будут в свойствах элемента, не надо забывать, что у них есть ещё и параметры, у каждого свои, стало быть доступно это будет только из скриптов, не говоря уж про динамику этих эффектов, а народ у нас с Паскалем не дружит. И кто тогда сможет пользоваться этой фичей?
А какие могут быть параметры?
Кстати, если говорить о Hue, то оттенок берется из картинки слоя, а не задается как то отдельно.
Ну, т.е. менять плавно его будет невозможно. Если только использовать панель с цветом. А будет ли она без текстуры "накладываться".