Pull to refresh

Comments 8

Похоже, blur не учитывает соотношения сторон и размытый вариант выглядит так, как видит мир человек при астигматизме. В данном примере (как мне кажется) по горизонтали изображение размывается дальше, чем по вертикали, и для глаз размытый вариант выглядит не очень приятно.

Да, есть такое дело. Это зависит от стандартного шейдера, который используется:

effect_blur_v = '''
vec4 effect(vec4 color, sampler2D texture, vec2 tex_coords, vec2 coords)
{{
    float dt = ({} / 4.0)
                     * 1.0 / resolution.x;
    vec4 sum = vec4(0.0);
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y - 4.0*dt))
                     * 0.05;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y - 3.0*dt))
                     * 0.09;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y - 2.0*dt))
                     * 0.12;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y - dt))
                     * 0.15;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y))
                     * 0.16;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y + dt))
                     * 0.15;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y + 2.0*dt))
                     * 0.12;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y + 3.0*dt))
                     * 0.09;
    sum += texture2D(texture, vec2(tex_coords.x, tex_coords.y + 4.0*dt))
                     * 0.05;
    return vec4(sum.xyz, color.w);
}}
'''


Возможно, это можно улучшить. Немного поиграл со значениями, добавил эффект вертикального размытия, вроде, стало получше:

Спасибо, а вы добавите виджеты из futter ui в kivyMD?
Не совсем понимаю, что вы имеете в виду. Виджеты, которые есть во Flutter, но которых еще нет в KivyMD? Например SliverAppBar?
Да. В youtube много туториалов по flutter. Там получаются довольно красивые приложения. Почему-то, все переходят на flutter. Если бы вы взяли парочку приложений на flutter, и переделали бы их на kivy/kivymd, было бы просто супер. А чтобы людям было проще, вам стоит добавить виджеты из flutter, и переработать некоторые виджеты, как например: MDcard(чтобы был готовый виджет MDcard с blur'ом и другими эффектами. Чтобы люди в большинстве случаев не создавали custom'ный MDcard, а если им понадобится создать custom'ный MDcard, чтобы это — было проще.). Просто по kivymd очень мало туториалов, есть один канал на youtube, но этого мало.
Что вы об этом думаете?
Если бы вы взяли парочку приложений на flutter, и переделали бы их на kivy/kivymd, было бы просто супер.


В статье именно такое приложение и рассматривается.

… и переработать некоторые виджеты, как например: MDcard(чтобы был готовый виджет MDcard с blur'ом и другими эффектами


Принцип создания MDcard такой же, как и в любом другом фреймворке.

Просто по kivymd очень мало туториалов


Есть официальная документация.
Sign up to leave a comment.

Articles