Reactjs gl react和gl react本机多图像类贴纸
我查看了我的应用程序的Reactjs gl react和gl react本机多图像类贴纸,reactjs,react-native,glsl,Reactjs,React Native,Glsl,我查看了我的应用程序的glreact示例项目,并实现了这段代码,效果很好 import React, { Component } from "react"; import { Shaders, Node, GLSL } from "gl-react"; import { Surface } from "gl-react-native"; const shaders = Shaders.create({ Saturate: { frag: GLSL` precision highp
glreact
示例项目,并实现了这段代码,效果很好
import React, { Component } from "react";
import { Shaders, Node, GLSL } from "gl-react";
import { Surface } from "gl-react-native";
const shaders = Shaders.create({
Saturate: {
frag: GLSL`
precision highp float;
varying vec2 uv;
uniform sampler2D t;
uniform float contrast, saturation, brightness;
const vec3 L = vec3(0.2125, 0.7154, 0.0721);
void main() {
vec4 c = texture2D(t, uv);
vec3 brt = c.rgb * brightness;
gl_FragColor = vec4(mix(
vec3(0.5),
mix(vec3(dot(brt, L)), brt, saturation),
contrast), c.a);
}
`
}
});
export const Saturate = ({ contrast, saturation, brightness, children }) =>
<Node
shader={shaders.Saturate}
uniforms={{ contrast, saturation, brightness, t: children }}
/>;
export default class Example extends Component {
render() {
return (
<Surface width={480} height={300}>
<Saturate {...this.props}>
{{image: "https://i.imgur.com/uTP9Xfr.jpg"}}
{/* Add overlay stickers or image */}
</Saturate>
</Surface>
);
}
static defaultProps = {
contrast: 1,
saturation: 1,
brightness: 1,
};
}
import React,{Component}来自“React”;
从“gl react”导入{Shaders,Node,GLSL};
从“gl react native”导入{Surface};
const shaders=shaders.create({
饱和:{
frag:GLSL`
高精度浮点;
可变vec2紫外线;
均匀采样;
均匀的浮动对比度、饱和度、亮度;
常数vec3 L=vec3(0.2125,0.7154,0.0721);
void main(){
vec4 c=织构2d(t,uv);
vec3 brt=c.rgb*亮度;
gl_FragColor=vec4(混合(
vec3(0.5),
混合(vec3(dot(brt,L)),brt,饱和),
对比),c.a);
}
`
}
});
导出常数饱和=({对比度、饱和度、亮度、子项})=>
;
导出默认类示例扩展组件{
render(){
返回(
{{图像:“https://i.imgur.com/uTP9Xfr.jpg"}}
{/*添加覆盖标签或图像*/}
);
}
静态defaultProps={
对比:1,
饱和度:1,
亮度:1,
};
}
我想实现这个示例,并在图像中添加一些标签
我怎样才能添加像贴纸一样的叠加图像?甚至覆盖文本。
你知道如何做到这一点吗?我正在寻找类似的成就,你找到解决方案了吗?