Блог Web-мастера

jQuery, php, CSS и немножко SEO


Библиотека JavaScript Image Processing Library

Библиотека javascript pixastic

Библиотека javascript pixastic

Давиче хотел найти  как сделать эффект мутной прозрачности как в Vist’е и наткнулся на интересную javascript библиотеку pixastic, о ней, собственно и пойдет речь.

Для начала покажу пример.

Довольно занятно не правда ли? И это без подмены изображений, на чистом javascript.

С помощью этой библиотеки к изображениям можно применять  следующие эффекты:

  • Blend - наложение изображений
  • Blur - размытие
  • Blur Fast -  размытие (можно задать силу размытия)
  • Brightness/Contrast - яркость/контраст
  • Color Adjust - цвето-фильтры
  • Color Histogram - цветовая гистограмма
  • Crop - обрезание изображения
  • Desaturate - чёрно-белое
  • Emboss - рельефное изображение
  • Flip Horizontally - отразить по-горизонтали
  • Flip Vertically - отразить по-вертикали
  • Glow - свечение
  • Hue/Saturation/Lightness - оттенок / насыщенность / яркость
  • Invert - инверсия
  • Lighten - яркость
  • Mosaic - мозаика
  • Noise - шум
  • Posterize - пастеризация
  • Remove Noise - убрать шум
  • Sepia - сепия
  • Sharpen - четкость
  • и.т.д

Область применения:

Можно использовать в какой-нибудь галерее для превьюшек. Например, по-умолчанию сделать их черно-белыми, а при наведении мыши-цветными.

Кстати о наведении мыши, на сайте разработчиков не нашел как сделать так, чтобы при onmouseover применялся эффект, а при onmouseout - возвращались исходные значения. Пришлось сделать самому на jquery, скачать и просмотреть реализацию (39 Kb)  можно!

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

P.S. По просьбам читателей реализован обратный эффект, т.е. при загрузке страницы изображение - чёрно-белое (к примеру), а при наведении мыши становится цветным.

Скачать демо обратного эффекта.

P.P.S. Добавлен пример эффекта blur fast

Скачать демо blur-fast.

Google Bookmarks Digg I.ua Linkstore Myscoop Communizm Ru-marks Webmarks Ruspace Linkomatic Kli.kz Web-zakladka Zakladok.net Reddit delicious Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Похожие статьи

Если Вам понравилась эта статья,
подпишитесь на RSS !

Метки: ,

21 Комментариев к “Библиотека JavaScript Image Processing Library”

  1. Вячеслав написал:

    отличный скрипт! спасибо
    только подскажи пожалуйста как сделать обратный эффект, т.е. поумолчанию изображение ЧБ, а при наведении принимает свой первозданный вид
    заранее спасибо!

  2. Yura goldblog написал:

    Вячеслав, сделано, добавлено в запись.

  3. Вячеслав написал:

    Юрий, огромное человеческое спасибо!

  4. Yura goldblog написал:

    Всегда пожалуйста, рад был помочь.

  5. Вячеслав написал:

    и ещё один момент
    мне нужно несколько объектов с одним эффектом (к примеру #desaturateimage)
    ставлю каждой картинке один и тот же id=desaturateimage в итоге работает только первая
    пример тут http://siteman.kz/pixastic_lib/index.html

  6. Yura goldblog написал:

    Вячеслав, если необходимо обработать несколько элементов, тогда используйте вместо id=”desaturateimage” - class=”desaturateimage”, в javascript замените все “#desaturateimage” на “.desaturateimage”. Советую каждой картинке присвоить уникальный id, например:img1,img2,img3,…

  7. Вячеслав написал:

    мм.. поменял.
    скрипт загружает все изображения в ЧБ виде, но при первом же наведении отказывается возвращать ЧБ вариант
    пример тут http://siteman.kz/pixastic_lib/index.html

  8. Yura goldblog написал:

    Да, действительно.
    Немного порывшись в исходнике нашел бок:
    строчка $(”#”+imgID+”").each(
    необходимо заменить на $(”.”+imgCLASS+”").each(
    получается функция desaturate принимает вид:

    
    function desaturate(el,bind_el)
    {
      $(el).bind(bind_el,  function()
    	 {
            imgSRC=$(this).attr("src");
            imgSTYLE=$(this).attr("style");
            imgCLASS=$(this).attr("class");
            imgALT=$(this).attr("alt");
            imgTITLE=$(this).attr("title");
             Pixastic.process(this, "desaturate", {average : false});
    
            $(".desaturateimage").bind("mouseover",  function()
    	{
    	$(this).after(""+imgALT+"").remove();
    		     $("."+imgCLASS+"").each(
    				function()
    					{
    					   desaturate(this,"mouseout");
    				  	});
    			} );
          });
    
    }
    

    Теперь не обязательно назначать картинкам уникальные ID.

  9. Алексей написал:

    Добрый день, никак не могу разобраться с эффектом blur fast из этой библиотеки. Документация на сайте разработчика не очень помогла. Вы не могли бы показать пример.

  10. Yura goldblog написал:

    Добавлено в конец статьи. Пример использует pixastic с jQuery.

  11. letmetouch написал:

    А вот пример с размытием.
    Как обратно вренуть изображение в неразмытое состояние ?

  12. Yura goldblog написал:

    Аналогично, как и в примере с черно-белым изображением. Вы должны понять, что скрипт не размывает изображение, а заменяет изображение ( img ) элементом canvas, в котором уже размывает картинку. Для того, чтобы вернуть изображение, необходимо просто заменить этот canvas на Ваш img

  13. vov41k написал:

    Здраствуйте.
    Вот хочу что бы все изображения были черно-белые, при наведении стали реальнымы? Качаю JS, как теперь его встроить в WordPress ?

  14. Yura goldblog написал:

    Не советую Вам этого делать:

    1. Преобразование работает относительно медленно, особенно с изображениями среднего размера и больше.
    2. На данный момент реализовано преобразование конкретных изображений (обращение к элементу идет по id).

    Советую использовать скрипт в одном определенном месте, с маленькими статичными изображениями (пункты меню или кнопки партнеров…)

  15. vov41k написал:

    Ну, а вот не знаете пример в CSS или в JS, что бы сделать все изображения ч\б ну при наведении были они цветными?

  16. Yura goldblog написал:

    В css можно только если создавать в ручную черно-белое изображение, и при наведении (:hover) менять изображение на цветное (подменять). Или лучше в одном изображении сделать сразу два, сначала показывать только верхнюю часть (к примеру), а при наведении “сдвигать” и показывать нижнюю.
    На JS других библиотек не встречал.

  17. baltun написал:

    пример из статьи не работает в IE, практически во всех версиях…

  18. Виталик написал:

    Yura goldblog
    ОТЛИЧНАЯ СТАТЬЯ!
    только тут более или менее понятно) благодаря примерам

    а что делать если картинки выводятся через дополнительные поля в cms dle

    я пытался поставть id=”desaturateimage”
    [full-link][xfgiven_minipic] [xfvalue_minipic] [/xfgiven_minipic] [/full-link]

    но нифига не вышло( картинки какие были такие и есть
    эфект работает только Чёрно-белое если так

    а хотелось чтоб [full-link][xfgiven_minipic] [xfvalue_minipic] [/xfgiven_minipic] [/full-link]

  19. Akeshy написал:

    да, неплохая)))

  20. Имя написал:

    Упс, автор извини ошибся, в ие работает.
    скажи пожалуста вот то что ты переделанное скинул не так работает. т.е работает но только после того как мышку с изображения уберешь
    я так понимаю это нужно эту строчку поменять sepia(this,”mouseout”)
    а на какую? скажи плиз

  21. Александр написал:

    Доброго времени суток. Нужна ваша помощь. У меня все работает, но только для картинок которые загружены ко мне на сайт, а те которые загружены на фото-хостинг - не работают(. Помогите пожалуйста решить проблему. а то я не силен в js

Оставить комментарий

Я не робот.