Ich habe versucht, Fisheye-artige Filter in meinem SVG und fand diese codepen umzusetzen: http://codepen.io/johanberonius/pen/RopjYWSVG Displacement-Map-Filter
Es funktioniert perfekt in Ordnung, außer ich diesen Effekt wollen etwas sein, „härter“, aber ich couldn‘ t Verschiebungskarte ändern, da sie in js generiert wurde.
var canvas = document.getElementById('canvas'),
barrel = document.getElementById('filter-image'),
width = canvas.width,
height = canvas.height,
ctx = canvas.getContext('2d');
for (var y = 0; y < height; y++) {
for (var x = 0; x < width; x++) {
var dx = x - 128,
dy = y - 128,
l = Math.sqrt(dx * dx + dy * dy),
a = l < 128 ? Math.asin(l/128) : 0,
z = l < 128 ? 255 - Math.cos(a) * 255 : 0,
r = l < 128 ? 128 + (dx/128) * (z/255) * 128 : 0,
g = l < 128 ? 128 + (dy/128) * (z/255) * 128 : 0,
o = l >= 124 ? Math.max(0, 1 - (l-124)/4) : 1;
ctx.fillStyle = 'rgba('+Math.floor(r)+','+Math.floor(g)+',0,'+o+')';
ctx.fillRect(x,y,1,1);
}
}
barrel.setAttribute('xlink:href', canvas.toDataURL());
var tx = 0,
ty = 0;
requestAnimationFrame(function updateAnimationFrame() {
tx += 0.027;
ty += 0.031;
barrel.setAttribute('x', 128 + Math.sin(tx) * 120);
barrel.setAttribute('y', 128 + Math.cos(ty) * 120);
requestAnimationFrame(updateAnimationFrame);
});
Formel ist viel zu fortgeschritten für mich zu hacken. Also habe ich mich gefragt, ob es irgendeinen Weg gibt, wie ich diese Arten von Karten erstellen kann oder vielleicht kann mir jemand mit einer Formel helfen.
Danke für Ihre Hilfe! Ich habe fast den Filter erstellt, den ich wollte, nur neugierig, wie man "Volumen" in dieses Ding fügt? Ich möchte einen ähnlichen Effekt wie CC Sphere in After Effects erzielen. Nun, dank Ihnen habe ich herausgefunden, wie man Effekt schärfer machen, aber noch konnte nicht herausfinden, was mit „Volumen“ bezogen ist. – Fedaikin
Die Bearbeitung war gerade jetzt, weil ich festgestellt hatte, dass ich Werte gegenüber der Grenze invertiert hatte. Ich finde, dass mit den 'feColorMatrix' Werte spielen die meisten pronunced Wirkung auf den„Punch“von der ganzen Sache hat. – ccprog
Das Emulieren einer Kugel funktioniert nicht. Die grundlegende Mathematik ist eine Gauß-Kurve. – ccprog