Konvajs是否提供锐度过滤器,如果有,如何使用?

Konvajs是否提供锐度过滤器,如果有,如何使用?,konvajs,konvajs-reactjs,Konvajs,Konvajs Reactjs,在此链接中,锐度过滤器不可用Konva的核心没有这样的过滤器。您必须手动实现它 对于该用例,您可以编写自己的自定义过滤器。看 我尝试使用锐化实现: //无保护 const stage=新Konva.stage({ 容器:'容器', 宽度:window.innerWidth, 高度:window.innerHeight }); const layer=新的Konva.layer(); 阶段。添加(层); 函数锐化(srcData){ 常数混合=1; const w=srcData.width; 常


在此链接中,锐度过滤器不可用

Konva
的核心没有这样的过滤器。您必须手动实现它

对于该用例,您可以编写自己的自定义过滤器。看

我尝试使用锐化实现:

//无保护
const stage=新Konva.stage({
容器:'容器',
宽度:window.innerWidth,
高度:window.innerHeight
});
const layer=新的Konva.layer();
阶段。添加(层);
函数锐化(srcData){
常数混合=1;
const w=srcData.width;
常数h=srcData.height;
const canvas=document.createElement('canvas');
const ctx=canvas.getContext('2d');
变量x,sx,sy,r,g,b,a,dstOff,srcOff,wt,cx,cy,scy,scx,
权重=[0,-1,0,-1,5,-1,0,-1,0],
katet=Math.round(Math.sqrt(weights.length)),
一半=(凯特*0.5)| 0,
dstData=ctx.createImageData(w,h),
dstBuff=dstData.data,
srcBuff=srcData.data,
y=h;
而(y--){
x=w;
而(x-){
sy=y;
sx=x;
dstOff=(y*w+x)*4;
r=0;
g=0;
b=0;
a=0;
对于(cy=0;cy=0&&scy=0&&scx{
setAttrs({filters:[锐化]});
img.cache();
图层添加(img);
layer.draw();
});

演示:

Konva的核心没有这样的过滤器。您必须手动实现它

对于该用例,您可以编写自己的自定义过滤器。看

我尝试使用锐化实现:

//无保护
const stage=新Konva.stage({
容器:'容器',
宽度:window.innerWidth,
高度:window.innerHeight
});
const layer=新的Konva.layer();
阶段。添加(层);
函数锐化(srcData){
常数混合=1;
const w=srcData.width;
常数h=srcData.height;
const canvas=document.createElement('canvas');
const ctx=canvas.getContext('2d');
变量x,sx,sy,r,g,b,a,dstOff,srcOff,wt,cx,cy,scy,scx,
权重=[0,-1,0,-1,5,-1,0,-1,0],
katet=Math.round(Math.sqrt(weights.length)),
一半=(凯特*0.5)| 0,
dstData=ctx.createImageData(w,h),
dstBuff=dstData.data,
srcBuff=srcData.data,
y=h;
而(y--){
x=w;
而(x-){
sy=y;
sx=x;
dstOff=(y*w+x)*4;
r=0;
g=0;
b=0;
a=0;
对于(cy=0;cy=0&&scy=0&&scx{
setAttrs({filters:[锐化]});
img.cache();
图层添加(img);
layer.draw();
});
演示: