Библиотека JavaScript Image Processing Library
Давиче хотел найти как сделать эффект мутной прозрачности как в 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
Похожие статьи
Если Вам понравилась эта статья,
подпишитесь на RSS !
Метки: javascript, jquery
июля 7, 2009 at 8:09
отличный скрипт! спасибо
только подскажи пожалуйста как сделать обратный эффект, т.е. поумолчанию изображение ЧБ, а при наведении принимает свой первозданный вид
заранее спасибо!
июля 7, 2009 at 9:11
Вячеслав, сделано, добавлено в запись.
июля 7, 2009 at 10:12
Юрий, огромное человеческое спасибо!
июля 7, 2009 at 10:16
Всегда пожалуйста, рад был помочь.
июля 7, 2009 at 12:13
и ещё один моментhttp://siteman.kz/pixastic_lib/index.html
мне нужно несколько объектов с одним эффектом (к примеру #desaturateimage)
ставлю каждой картинке один и тот же id=desaturateimage в итоге работает только первая
пример тут
июля 7, 2009 at 14:08
Вячеслав, если необходимо обработать несколько элементов, тогда используйте вместо id=”desaturateimage” - class=”desaturateimage”, в javascript замените все “#desaturateimage” на “.desaturateimage”. Советую каждой картинке присвоить уникальный id, например:img1,img2,img3,…
июля 7, 2009 at 14:27
мм.. поменял.http://siteman.kz/pixastic_lib/index.html
скрипт загружает все изображения в ЧБ виде, но при первом же наведении отказывается возвращать ЧБ вариант
пример тут
июля 7, 2009 at 15:07
Да, действительно.
Немного порывшись в исходнике нашел бок:
строчка $(”#”+imgID+”").each(
необходимо заменить на $(”.”+imgCLASS+”").each(
получается функция desaturate принимает вид:
Теперь не обязательно назначать картинкам уникальные ID.
августа 25, 2009 at 10:22
Добрый день, никак не могу разобраться с эффектом blur fast из этой библиотеки. Документация на сайте разработчика не очень помогла. Вы не могли бы показать пример.
августа 25, 2009 at 13:29
Добавлено в конец статьи. Пример использует pixastic с jQuery.
ноября 12, 2009 at 1:32
А вот пример с размытием.
Как обратно вренуть изображение в неразмытое состояние ?
ноября 12, 2009 at 9:38
Аналогично, как и в примере с черно-белым изображением. Вы должны понять, что скрипт не размывает изображение, а заменяет изображение ( img ) элементом canvas, в котором уже размывает картинку. Для того, чтобы вернуть изображение, необходимо просто заменить этот canvas на Ваш img
ноября 17, 2009 at 3:40
Здраствуйте.
Вот хочу что бы все изображения были черно-белые, при наведении стали реальнымы? Качаю JS, как теперь его встроить в WordPress ?
ноября 17, 2009 at 9:37
Не советую Вам этого делать:
1. Преобразование работает относительно медленно, особенно с изображениями среднего размера и больше.
2. На данный момент реализовано преобразование конкретных изображений (обращение к элементу идет по id).
Советую использовать скрипт в одном определенном месте, с маленькими статичными изображениями (пункты меню или кнопки партнеров…)
ноября 17, 2009 at 12:34
Ну, а вот не знаете пример в CSS или в JS, что бы сделать все изображения ч\б ну при наведении были они цветными?
ноября 17, 2009 at 12:55
В css можно только если создавать в ручную черно-белое изображение, и при наведении (:hover) менять изображение на цветное (подменять). Или лучше в одном изображении сделать сразу два, сначала показывать только верхнюю часть (к примеру), а при наведении “сдвигать” и показывать нижнюю.
На JS других библиотек не встречал.
декабря 27, 2010 at 0:21
пример из статьи не работает в IE, практически во всех версиях…
апреля 1, 2011 at 1:00
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]
сентября 29, 2011 at 22:09
да, неплохая)))
декабря 3, 2011 at 18:44
Упс, автор извини ошибся, в ие работает.
скажи пожалуста вот то что ты переделанное скинул не так работает. т.е работает но только после того как мышку с изображения уберешь
я так понимаю это нужно эту строчку поменять sepia(this,”mouseout”)
а на какую? скажи плиз
мая 3, 2012 at 23:22
Доброго времени суток. Нужна ваша помощь. У меня все работает, но только для картинок которые загружены ко мне на сайт, а те которые загружены на фото-хостинг - не работают(. Помогите пожалуйста решить проблему. а то я не силен в js