Свёртка в вебе
Я
<style>
.edge {
-webkit-filter: url(#edge);
filter: url(#edge);
}
</style>
<svg style="width: 0; height: 0">
<filter id="edge">
<feConvolveMatrix kernelMatrix="-1 -1 -1 -1 9 -1 -1 -1 -1" />
</filter>
</svg>
<image src="sample.jpg" class="edge">Магические числа в матрице — специальное ядро.
Впрочем, и раньше можно было внедрить в ХТМЛ
С таким возможностями, немудрено, что онлайновых «фотошопов» развелось, как грязи. Немного помучавшись с консолью, можно найти способ как поменять матрицу и это тоже будет работать! Например, вот так меняется число по центру (где у меня в примере девятка записана):
var arr = document.getElementById('edge').childNodes;
for (var i = 0; i < arr.length; i++) {
if (arr[i].kernelMatrix) {
arr[i].kernelMatrix.baseVal.getItem(4).value = newvalue;
break;
}
}Осталось только соединить этот код с «крутилкой» и готов
Комментарии 10
Зато в хроме работает вообще с любыми элементами, например, с div'ами, накладывая фильтр на всё div'ное содержимое.
Работает: Chrome, Firefox
Не работает: IExplore, Opera, Safari
Но штука весьма прикольная, конечно. Спасибо.
В каком IE не работает? Начиная с
В пятом Safari под Win7 тоже (седьмого, под винду, как я понимаю, не существует?)
Когда вы впервые читаете имя и фамилиюкакой-то новой звезды, глаза не ломаете?
Комментарий для Svan:
Видимо «кэнайюз» обманывает. Придётся для IE оборачивать картинку в SVG.
Неа, не существует. Надо про него забыть уже под Винду, он не выпускается там.
Мне даже пришлось посмотреть на ссылку, чтобы понять, что это такое. С именами такого не бывает.
Комментарий для Евгения Степанищева:
Ломаю. Я в курсе что спорить с вами на эту тему бесполезно, просто констатировал факт.