今天宠物迷的小编给各位宠物饲养爱好者分享android毛玻璃效果的宠物知识,其中也会对android 透明框,玻璃效果(苹果手机应用框透明)进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!
在drawable中新建:
shape.xml
<corners android:radius="5dip"
/>
<stroke
android:width="2dp"
android:color="#DEDFD6" />
将button将其设为背景,就可以有边框了
不用这么复杂的 在要加效果的图层上右击 选择【复制图层】(直接按CTRL+J也行) 然后在复制出来这层上右击 选择【转换为智能对象】 直接在这层上面添加【高斯模糊】滤镜 还没完成 继续 为这图层添加一个【图层蒙版】 按着【ALT键】 再点击【图层
Aero只是毛玻璃效果,并不是运行win7系统
通过第三方软件获得Root权限,可以访问和修改手机操作系统里几乎所有的文件,但这样操作有可能影响手机的稳定性,出现死机、重启等人为性故障。另外获取权限后一般对存储器和CPU等主板上主要部件引起**。Root属于修改操作系统软件,按照条例不属于包修范围。三星为了提升顾客满意度,对Root顾客提供免费升级固件服务,如果Root已影响到手机硬件需要更换主板,则需要收取主板费用。若您的机器Root后需将机器恢复到原来的系统版本,请将机器送到三星服务中心,由售后工程师帮助检查处理。自行将设备恢复出厂设置是无法取消Root权限的。
1、如果系统的api在16以上,可以使用系统提供的方法直接处理图片
复制代码代码如下:
if (VERSION.SDK_INT > 16) {
Bitmap bitmap = sentBitmap***py(sentBitmap.getConfig(), true);
final RenderScript rs = RenderScript.create(context);
final Allocation input = Allocation.createFromBitmap(rs, sentBitmap, Allocation.MipmapControl.MIPMAP_NONE,
Allocation.USAGE_SCRIPT);
final Allocation output = Allocation.createTyped(rs, input.getType());
final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
script.setRadius(radius /* e.g. 3.f */);
script.setInput(input);
script.forEach(output);
output***pyTo(bitmap);
return bitmap;
}
2、 如果Api条件不满足,可以使用如下方法
复制代码代码如下:
@SuppressLint("NewApi")
public static Bitmap fastblur(Context context, Bitmap sentBitmap, int radius) {
Bitmap bitmap = sentBitmap***py(sentBitmap.getConfig(), true);
if (radius < 1) {
return (null);
}
int w = bitmap.getWidth();
int h = bitmap.getHeight();
int[] pix = new int[w * h];
// Log.e("pix", w + " " + h + " " + pix.length);
bitmap.getPixels(pix, 0, w, 0, 0, w, h);
int wm = w - 1;
int hm = h - 1;
int wh = w * h;
int div = radius + radius + 1;
int r[] = new int[wh];
int g[] = new int[wh];
int b[] = new int[wh];
int rsum, gsum, bsum, x, y, i, p, yp, yi, yw;
int vmin[] = new int[Math.max(w, h)];
int divsum = (div + 1) >> 1;
divsum *= divsum;
int temp = 256 * divsum;
int dv[] = new int[temp];
for (i = 0; i < temp; i++) {
dv[i] = (i / divsum);
}
yw = yi = 0;
int[][] stack = new int[div][3];
int stackpointer;
int stackstart;
int[] sir;
int rbs;
int r1 = radius + 1;
int routsum, goutsum, boutsum;
int rinsum, ginsum, binsum;
for (y = 0; y < h; y++) {
rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0;
for (i = -radius; i <= radius; i++) {
p = pix[yi + Math.min(wm, Math.max(i, 0))];
sir = stack[i + radius];
sir[0] = (p & 0xff0000) >> 16;
sir[1] = (p & 0x00ff00) >> 8;
sir[2] = (p & 0x0000ff);
rbs = r1 - Math.abs(i);
rsum += sir[0] * rbs;
gsum += sir[1] * rbs;
bsum += sir[2] * rbs;
if (i > 0) {
rinsum += sir[0];
ginsum += sir[1];
binsum += sir[2];
} else {
routsum += sir[0];
goutsum += sir[1];
boutsum += sir[2];
}
}
stackpointer = radius;
for (x = 0; x < w; x++) {
r[yi] = dv[rsum];
g[yi] = dv[gsum];
b[yi] = dv[bsum];
rsum -= routsum;
gsum -= goutsum;
bsum -= boutsum;
stackstart = stackpointer - radius + div;
sir = stack[stackstart % div];
routsum -= sir[0];
goutsum -= sir[1];
boutsum -= sir[2];
if (y == 0) {
vmin[x] = Math.min(x + radius + 1, wm);
}
p = pix[yw + vmin[x]];
sir[0] = (p & 0xff0000) >> 16;
sir[1] = (p & 0x00ff00) >> 8;
sir[2] = (p & 0x0000ff);
rinsum += sir[0];
ginsum += sir[1];
binsum += sir[2];
rsum += rinsum;
gsum += ginsum;
bsum += binsum;
stackpointer = (stackpointer + 1) % div;
sir = stack[(stackpointer) % div];
routsum += sir[0];
goutsum += sir[1];
boutsum += sir[2];
rinsum -= sir[0];
ginsum -= sir[1];
binsum -= sir[2];
yi++;
}
yw += w;
}
for (x = 0; x < w; x++) {
rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0;
yp = -radius * w;
for (i = -radius; i <= radius; i++) {
yi = Math.max(0, yp) + x;
sir = stack[i + radius];
sir[0] = r[yi];
sir[1] = g[yi];
sir[2] = b[yi];
rbs = r1 - Math.abs(i);
rsum += r[yi] * rbs;
gsum += g[yi] * rbs;
bsum += b[yi] * rbs;
if (i > 0) {
rinsum += sir[0];
ginsum += sir[1];
binsum += sir[2];
} else {
routsum += sir[0];
goutsum += sir[1];
boutsum += sir[2];
}
if (i < hm) {
yp += w;
}
}
yi = x;
stackpointer = radius;
for (y = 0; y < h; y++) {
// Preserve alpha channel: ( 0xff000000 & pix[yi] )
pix[yi] = (0xff000000 & pix[yi]) | (dv[rsum] << 16) | (dv[gsum] << 8) | dv[bsum];
rsum -= routsum;
gsum -= goutsum;
bsum -= boutsum;
stackstart = stackpointer - radius + div;
sir = stack[stackstart % div];
routsum -= sir[0];
goutsum -= sir[1];
boutsum -= sir[2];
if (x == 0) {
vmin[y] = Math.min(y + r1, hm) * w;
}
p = x + vmin[y];
sir[0] = r[p];
sir[1] = g[p];
sir[2] = b[p];
rinsum += sir[0];
ginsum += sir[1];
binsum += sir[2];
rsum += rinsum;
gsum += ginsum;
bsum += binsum;
stackpointer = (stackpointer + 1) % div;
sir = stack[stackpointer];
routsum += sir[0];
goutsum += sir[1];
boutsum += sir[2];
rinsum -= sir[0];
ginsum -= sir[1];
binsum -= sir[2];
yi += w;
}
}
// Log.e("pix", w + " " + h + " " + pix.length);
bitmap.setPixels(pix, 0, w, 0, 0, w, h);
return (bitmap);
}
请问楼主是不是想要图片中的效果 下面是我的代码。自己先看看,有不懂再来问我 * { transition: all .3s; } .fontColor { color: #333; } .fontWhite { color: #fff; } .fontTheme { color: #00a2e9; } .relative { position: relative; } .absolute { position: absolute; } .pointer { cursor: pointer; } .none { display: none; } .hidden { overflow: hidden; } html, body { display: inline-block; width: 100%; height: 100%; margin: 0px; perspective: 500px; } .body { width: 100%; height: 100%; background: url('http://hitopdl.hicloud***m/dl/hitopdl//hitop/wallpaper/FHD/38968/small_38968.jpg') no-repeat center center; background-size: 100% auto; background-attachment: fixed; } .loginBox { position: absolute; top: 0px; bottom: 0px; left: 0px; right: 0px; margin: auto; box-sizing: border-box; width: 600px; height: 300px; border: 3px solid rgba(130, 130, 130, .3); border-radius: 3px; overflow: hidden; animation: rotate-X 1s; animation-fill-mode: forwards; transform: rotateX(90deg) translateZ(0px); transform-origin: bottom; animation-delay: .8s; } .loginBox:hover { border: 3px solid rgba(255, 255, 255, .26); } .loginBox:hover .loginBg { filter: blur(0px); } .loginBg { position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; background: url('http://hitopdl.hicloud***m/dl/hitopdl//hitop/wallpaper/FHD/38968/small_38968.jpg') no-repeat center center; background-attachment: fixed; } .loginName { text-align: left; text-indent: 1em; font: normal normal normal 20px/34px "黑体", "微软雅黑"; width: 100%; background-color: rgba(0, 0, 0, .38); border-bottom: 1px solid rgba(255, 255, 255, .42); } .close { right: 4px; bottom: 4px; font: normal normal normal 14px/14px monaco, "黑体", "微软雅黑"; } .loginInput { width: 340px; height: auto; margin: 50px auto 0px auto; overflow: hidden; perspective-origin: bottom; transform-style: preserve-3d; } .name, .password { color: #fff; text-indent: 1em; font: normal normal normal 14px/20px "黑体", "微软雅黑"; text-align: left; display: block; vertical-align: ; margin: 10px auto; width: 340px; line-height: 32px; height: 32px; outline: none; background-color: rgba(0, 0, 0, .1); border: none; border-bottom: 1px solid #fff; transition: all 1s; border-radius: 2px; } .name:focus, .password:focus { background-color: rgba(0, 0, 0, .5); border-bottom: 1px solid rgba(255, 255, 255, .4); } ::-webkit-input-placeholder { text-indent: 1em; text-align: left; color: rgba(255, 255, 255, .8); font: normal normal normal 14px/20px "黑体", "微软雅黑"; } .landing, .returnPsd { margin-top: 4px; background-color: #00a2e9; font: normal normal normal 16px/22px "黑体", "微软雅黑"; padding: 9px 22px; border-radius: 3px; cursor: pointer; } .landing { float: left; margin-left: 10px; } .returnPsd { float: right; margin-right: 10px; } .blur4 { filter: blur(4px); -ms-filter: blur(4px); -moz-filter: blur(4px); -webkit-filter: blur(4px); } .msg { font-family: "黑体"; z-index: 10; left: 50%; top: 20%; margin-left: -60px; border: 1px solid #fff; background-color: rgba(255, 255, 255, .1); text-align: center; width: 120px; line-height: 80px; opacity: 0; animation: spring-X 2s linear; animation-fill-mode: forwards; } @keyframes rotate-X { 0% { transform: translateZ(0px) rotateX(90deg); } 10% { transform: translateZ(-50px) rotateX(90deg); transform: } 40% { transform: translateZ(200px); } 45% { rotateX(90deg); } 100% { transform: translateZ(0px) rotateX(0deg); } } @keyframes spring-X { 0% { opacity: 0; } 5% { opacity: 1; } 10% { opacity: 1; transform: scale(1, 1); } 15% { opacity: 1; transform: scale(1.4, 1); } 20% { opacity: 1; transform: scale(0.9, 1); } 25% { opacity: 1; transform: scale(1.2, 1); } 30% { opacity: 1; transform: scale(0.9, 1); } 33% { opacity: 1; transform: scale(1, 1); } 100% { opacity: 1; transform: scale(1, 1); } } 请使用非IE浏览器查看 请使用非IE浏览器查看 **成功 **系统 Close 立即** 忘记密码 window.onload = function() { document.querySelector(".landing").onclick = function() { document.querySelector(".msg").classList.remove("none"); document.querySelector(".msg").addEventListener('animationend', function() { document.querySelector(".msg").classList.add("none"); }) } }
Step 1
在打开的Photoshop文档中使用圆角矩形工具(U)拖拽出一个基础形状,比如880×320的大小,4个像素的圆角。
Step 2
将背景图片拖放到PS文档中,将图层置于刚刚创建的圆角矩形之上,并且将图层转换为智能对象,然后将鼠标放在这两个图层之间,按住ALT键点击鼠标创建剪切蒙版。
Step 3
关键的地方到了,选中这个背景图片的图层,然后应用高斯模糊滤镜,随便设置多少半径,只要看起来效果满意即可,比如10个像素。这里可以看到图层下方多出了一个智能滤镜。这就是为什么上一步中要把图层转换为智能对象的原因,转换为智能对象后,应用的滤镜即可成为智能滤镜,而智能滤镜的好处之一是可以添加蒙版,另外还有个更大的作用就是时候可以更改滤镜的参数。
Step 4
这一步需要绘制一个承载信息的横条,以880×100的尺寸为例,将图层的颜色设置为与背景接近,同时与背景框架保持底部对齐。由于背景的底部有两个角带有圆角,所以仍然需要使用第二步中的方法创建剪切蒙版。
Step 5
这是另一个关键的步骤,由于背景现在是全部都是模糊的,而最终的效果中只需要横条下方的区域模糊,因此点击第三步中的智能滤镜的缩略图以选中智能滤镜的蒙版,然后按住CTRL键点击横条的缩略图。这样就载入了横条图层的选区,而由于是需要这部分是模糊其他部分清晰,所以按住CTRL+SHIFT+I键反转选区。最后使用黑色填充这块区域,于是就得到最终需要的效果了
到这里,iOS 7的透明磨砂玻璃效果就完成了。最后,添加些文字就可以完成了。总得来说,我的讲解是比较简单的,因为忽略了一些不是关键的地方,因此,这需要具有一定的Photoshop基础,当然都是很容易掌握的基础。
本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“android 透明框,玻璃效果”
上一篇
狗狗睡觉发出声音是怎么回事?
下一篇
狗狗有蛲虫怎么治