如何创建无损且可重复使用的模糊/磨砂玻璃效果?


25

如何创建通用模糊背景,可用于多张图片,类似于下面的示例?

我需要一个白色的磨砂玻璃外观png,我可以将其设置为在常规图像上分层使用,以便为它们提供所有的磨砂玻璃外观(例如,您几乎可以分辨出其背后的含义;也许是一些颜色)。

例子:

示例模糊图像
点击图片获得全分辨率

在此处输入图片说明

也许白色背景带有纹理(粒状纹理),然后进行高斯模糊处理,然后将其用作我所有图像的图层。

我知道我上面发布的链接可能只是一个模糊的图像,但是我需要一个可以在iOS项目中重用的图层。这样,它可以用作图像各部分上的视图层,并使下面的图像看起来模糊。也许我不应该在这里使用模糊作为术语。我正在寻找磨砂玻璃外观。

我要对此图像进行的操作是将其导入到我的iOS应用中,并使用它作为视图背景。然后,当此视图位于其他视图(地图视图,照片等)上方时,它们都会被磨砂。我正在尝试从iOS 7创建此图像的效果。不,我不想使用新的iOS 7设计功能,因为我的大多数用户仍在iOS 5上。不,我不想强​​迫他们升级。


6
“模糊”不是您可以存储在PNG中的某些常规内容,它是应用于图像的效果,并且完全取决于图像的内容。但是,您可以存储action应用模糊效果的。如果您执行有关链接的“问答”的教程和讨论中概述的操作则在记录操作的同时,您可能会拥有所需的内容。最有可能的是,将手动创建选择掩码,然后使用一个动作自动执行其余过程。
horatio

编辑并没有真正改变问题。正如Horatio所言,答案是:不,您不能在单独的图层中产生模糊效果。iOS图像只是更大的模糊。
Yisela

1
如果您问我,这是关于编码问题的全部内容。通过使用图像,与第二个示例类似的东西最接近的是:jsfiddle.net/lollero/DE4qn ...当然,这是超级静态的,需要您拥有同一图像的2个版本(当然, css3过滤器方法可以完成相同的操作)。
Joonas

Answers:


11

您不能只覆盖模糊图像后面的“模糊”图像。模糊效果需要对后面的图像进行采样以转置/扩展像素,因此需要在此处应用。

但是,您可以制作沙质/粒状纹理,并将其用作乘法图层以获得颗粒状纹理外观。

更新-正如Derek在另一个答案中建议的那样,您可以通过将图像层转换为智能对象,然后对其应用模糊来进行非破坏性模糊。然后,您可以输入智能对象并独立于模糊对其进行编辑。


我该如何做沙粒状纹理?我认为将它们一起使用将起作用。两个完全相同,但一个是向上一个像素,而第一个像素右侧是一个像素,这会使它粗糙(如果可以的话,可以分层)。
jgervin

1
创建一个白色填充层,然后过滤>噪波>添加噪波以添加颗粒。从那里可能会稍微模糊一下,以使其稍微软化,将图层设置为“ multiple”,并将不透明度降低到10%左右。
约翰

9

看一下您提供的第二张图像,使用PNG叠加无法实现类似的功能。这绝对是通过某种方式以编程方式完成的,而不是使用PNG叠加层。我尝试了这里发布的其他一些建议,但都没有达成共识(但也许您会获得好运)


这确实超出了您的要求,但这是否必须使用覆盖层来完成?我不确定使用这种方法能否获得希望的效果。如果您有能力,我将以编程方式进行。

我对应用程序的设置没有任何了解,但是可以使用CSS3过滤器来实现:

.blurred {
  filter: blur(2px);
  -webkit-filter: blur(2px);
}

[为清楚起见,请注意:该过程是带有alpha蒙版的产品的前景色,以及使用CSS滤镜模糊的背景图片]

之前

我们的产品!

我们的产品!
图片来源:Philip Leara

您可以在此处查看现场演示

将来,使用建议的backdrop-filterCSS样式可以使此操作变得更加容易,但是当前对此的支持几乎不存在


2
如果这是一个选择,那么这是一个不错的选择,因为用户或开发人员可以随意更改样式。
horatio

1
需要注意的是,这将适用于iOS设备,并且可能适用于大多数移动设备,但是对于非移动Web设计而言,这不是可行的方法,因为其支持非常有限。caniuse.com/css-filters
Eric

我们都是本地人。编程不是一种选择,因为它可能显示3个视图,或者显示2个或1个视图,但是顶视图需要允许所有下面的视图(无论有多少个视图)都显示一点点。
jgervin

@jgervin我认为仅通过PNG覆盖就无法实现您想要实现的目标,但是我希望有人证明我错了,因为我会学到新的东西!相反,我将专注于如何以另一种方式完成此任务,也许Stack Overflow可以引导您朝着正确的方向发展。
JohnB

@Eric如果它是一个iOS应用程序,则网络平台无关紧要。
Ctrl Alt Design

6

另一种选择是创建一个智能对象,并将模糊和效果应用于该智能对象。这样,仍然可以使您打开智能对象并更改其中的内容。

- -编辑 - -

由于我已经发布了上述答案,因此该问题已经过编辑和更改。现在的要求是在iOS应用程序中实现模糊处理,我建议使用代码进行模糊处理,这样它就可以影响您想要的任何图像。

private static Bitmap Blur(Bitmap image, Int32 blurSize)
{
    return Blur(image, new Rectangle(0, 0, image.Width, image.Height), blurSize);
}

有关此的更多信息,请访问:http : //notes.ericwillis.com/2009/10/blur-an-image-with-csharp/



3

如果仍然有必要,我正在尝试达到相同的效果,但我没有。

我使用名为html2canvas和stackBlur的插件完成了此操作,在这里找到了它:http : //jsfiddle.net/WtQjY/201/

我不是插件的作者。这仅是代码片段。我将其更改为更简单,更快:

。模糊{
    -webkit-filter:blur(7px);
-moz-filter:blur(7px);
-o-filter:blur(7px);
-ms-filter:blur(7px);
滤镜:blur(7px);

}

//////////////////////////////////
//包括jQuery库
// jQuery
$ {document).ready({
$('#YourButton')。click({

$('#YourContainer')。toggleClass('blur');

});
});

它仍然很慢,但是可以用。


2

因此,我创建了自己想分享的脚本版本。我制作了两个背景图像,并将其中一个附加到子div,然后将清晰明了的版本附加到主要背景。只需将两个对象的背景设置为固定和居中,它们就会匹配。

这是一个演示:http : //www.palandforsale.us/frosted-glass/


演示页面似乎已关闭。可以在其他地方找到该演示,还是可以在其中创建JSFiddle?
Praxis Ashelin

2

如果我正确理解了您的问题,我认为您不会。“模糊”是一种在软件中执行的操作,每种操作都有自己的方式。草图如何应用模糊可能与Photoshop或Google Chrome浏览器不同。

因此,您无法导出带有“模糊”的图像。模糊总是与它背后的内容交互,并且不能从创建它的应用程序中导出。


谢谢答案,这是有道理的。因此,如果我想在应用程序中使用它,则必须以编程方式创建它。
Dilip

是的,分别针对每个应用程序。例如,如今CSS具有模糊选项。
文森特

0
  1. 在要创建模糊和磨砂层的层上制作50%的灰色层。
  2. 充满噪音,其数量取决于您的需要
  3. 根据需要使用高斯模糊对其进行模糊处理。
  4. 在该层上方,您可以添加一个曲线层,并通过下拉曲线层的白色端或黑色端来调整白色和黑色值。

这两层应该给出冷淡和模糊的效果。可以更改这两层的顺序。


1
嗨,您好。如果您尝试过此操作,可以添加结果的图片吗?我真的看不到OP如何在不影响图像色彩的情况下提供模糊效果……
Yisela 2013年

这只会使您在原始清晰图像上的模糊模糊不清。
2013年

不工作。但是也许我做错了。
jgervin

0

创建一个复制图像并应用高斯模糊的动作。我相信,这是实现这一目标的唯一PS方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.