processing - 处理:部分模糊部分背景
问题描述
一些背景信息:这个项目是一个简单的图像,在项目结束时将成为我电脑屏幕的背景。
我想模糊背景的一部分,以便文本的一部分更明显。我可以模糊文本本身的图像的一部分,但这是我最后的手段。我不想这样做,因为在未来的项目中,我想随着某些东西的移动而主动模糊背景(我还没有开始这个未来的项目,所以我无法更好地描述那个项目)。
有谁知道如何模糊背景的一部分?对于这个项目,它需要大约 400x200 像素并模糊 10%-15%
解决方案
这是一个可以做到这一点的函数。它是静态方法,接受对 PApplet 的引用,因此如果您在 PDE 中工作,您可以从方法签名中删除此参数。此外,使用这种方法,您可以指定区域的中心,而不是左上角(根据需要进行修改)。
public static void blur(applet p, int regionCentreX, int regionCentreY, int regionWidth, int regionHeight,
float blurStrength) {
PGraphics g;
g = p.createGraphics(regionWidth, regionHeight);
g.beginDraw();
g.loadPixels();
int cornerX = PApplet.constrain(regionCentreX - (regionWidth / 2), 0, p.width - regionWidth);
int cornerY = PApplet.constrain(regionCentreY - (regionHeight / 2), 0, p.height - regionHeight);
p.loadPixels();
int graphicsIndex = 0;
for (int y = 0; y < regionHeight; y++) {
for (int x = 0; x < regionWidth; x++) {
g.pixels[graphicsIndex] = p.pixels[(cornerY + y) * p.width + (cornerX + x)];
graphicsIndex++;
}
}
p.updatePixels();
g.updatePixels();
g.filter(PConstants.BLUR, blurStrength);
g.endDraw();
p.image(g, cornerX, cornerY);
}
推荐阅读
- java - Spring MockMvc 保护公共 url
- delphi - teechart delphi reportbuilder限制来自管道的数据
- .net - ExceptionMessage:“无法将多个参数('tenant' 和 'certificateFile')绑定到请求的内容
- javascript - 语法样式写 a = !0 而不是 a = true?
- python - 在 While 循环 python 中返回“错误”
- c++ - C++11:带有 std::move() 的“decltype 类实例声明”不调用“移动构造函数”。为什么?
- javascript - 如何在 JavaScript 源代码中分别调用 .Ashx 类中的两个方法:?
- matlab - 重复一组数字后拆分列
- node.js - Cheerio npm : 从脚本中获取数据返回空白 ~ node.js
- scala - 用自己和这个参考理解真正的蛋糕图案代码