Обесцвечивать эффект с помощью jQuery и Pixastic - PullRequest
3 голосов
/ 29 мая 2010

Кто-нибудь знает, как использовать плагин Pixastic и jQuery там, где я могу получить изображение от цветного до полностью ненасыщенного?

Я пытаюсь избежать сохранения двух изображений и выцветания одного ..

Ответы [ 6 ]

4 голосов
/ 17 июля 2011

Я сделал обратное ... с ненасыщенными изображениями, чтобы окрасить. достигнуто только с 1 изображением в сочетании с пиксельным и живым запросом. я в основном клонировал изображения, ненасыщенный один из экземпляров, и сложил их друг на друга .... исчезая верхний (ненасыщенный) слой при наведении. Я уверен, что это может быть более элегантно, но в основном это работает. Вы можете увидеть эффект на chicagointerhandball.org на всех логотипах спонсоров

$('.sponsors').load(function() {    
    $('.sponsors').pixastic("desaturate");
}).each(function(index) {
    var clone = $(this).clone().removeClass('sponsors').addClass('sponsors-color').css('opacity',.25);
    $(this).parent().append(clone);
});

$('.sponsors-color').livequery(function(){ 
    // use the helper function hover to bind a mouseover and mouseout event 
        $(this).hover(function() { 
                $(this).stop().animate({"opacity": 1});
            }, function() { 
                $(this).stop().animate({"opacity": 0});
            }); 
    }, function() { 
        // unbind the mouseover and mouseout events 
        $(this) 
            .unbind('mouseover') 
            .unbind('mouseout'); 
    }); 
1 голос
/ 14 июля 2010

Вы можете получить лучшее из обоих миров, динамически создавая дублирование и обесцвечивая это изображение с pixastic. Поместите новое ненасыщенное изображение под оригинал и затемните оригинал.

1 голос
/ 29 мая 2010

Поскольку все эти эффекты пиксельного изображения генерируются на лету, я не думаю, что было бы целесообразно переходить между насыщенным и ненасыщенным. Уровень насыщенности изображения должен был бы перерисовываться на каждом этапе исчезновения. Лучше всего было бы иметь два изображения, одно насыщенное и одно ненасыщенное, и размещать их друг над другом. Затем, когда вы наводите курсор мыши на одно изображение, исчезаете другое изображение.

Edit:

Только что увидел, что вы пытались избежать двух изображений. Ну, это единственное решение, которое я могу придумать, но я бы хотел увидеть, были ли другие. В зависимости от количества изображений вы можете сгенерировать все ненасыщенные изображения при загрузке страницы, поместить их поверх насыщенных изображений, спрятать их, а затем добавить их при наведении. Просто возможность.

0 голосов
/ 26 марта 2012

При этом вам нужно смешать jQuery и стандартные вызовы DOM.У меня была такая же проблема только сегодня об этом.Я не мог заставить зависание работать кроссплатформенно из примеров, приведенных здесь и на их сайте.Поэтому я решил подумать об этом.Придумали решение, надеюсь, оно вам подойдет:

http://you.arenot.me/2012/03/26/pixastic-desaturate-on-mouseover-mouseenter-mouseleave/

0 голосов
/ 22 июня 2011

Похоже, это возможно с элементом canvas.

0 голосов
/ 29 мая 2010

Вы должны быть в состоянии, это в их разделе документации jQuery .

// convert all images with class="photo" to greyscale
$(".photo").pixastic("desaturate");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...