最近在搞JSI 的重构,少来冒泡了。
发一个中午的刚用到的小技巧:
在关机效果实现上,现在一般根据浏览器特征分别使用 虑镜/样式/图片 去模拟。
其中Opera是不支持网页透明的,只能用png的alpha透明模拟。
所以,我们需要一张特别的小图片。一个象素,alpha透明。
但是这个单象素图片的出现,感觉有点怪怪的,而且当网速很慢的时候,装载这个小图片还会延迟,效果不好。
不过,Opera的另外一个特性,可以避免这个问题:data:协议的支持。
对于这种小图片,完全可以编码到样式里面
css 代码
- background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mM4ffp0AwAHqALiYeNxSgAAAABJRU5ErkJggg==)
好了,如此一来,关机效果的实现,就没有图片这个累赘了。
图片的生成:
图片的生成,浪费我一个中午的时间:(
开始本想找个软件做掉,最后没发现一个如意的,干脆,自己看看api,自己写了一下:
代码如下:
java 代码
- public static void main(String[] args) throws IOException {
- BufferedImage image = new BufferedImage(1, 1,
- BufferedImage.TYPE_INT_ARGB);
- Graphics2D g2d = image.createGraphics();
-
- g2d.setColor(new Color(0xcc, 0xcc, 0xcc, 0x80));
- g2d.fillRect(0, 0, 1, 1);
- g2d.dispose();
- IIOImage iioImage = new IIOImage(image, null, null);
- ImageTypeSpecifier type = ImageTypeSpecifier
- .createFromRenderedImage(image);
- ImageWriter writer = (ImageWriter) ImageIO.getImageWriters(type, "png")
- .next();
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- writer.setOutput(ImageIO.createImageOutputStream(out));
- writer.write(null, iioImage, null);
- BASE64Encoder encoder = new BASE64Encoder();
- String result = encoder.encode(out.toByteArray()).replaceAll("[\r\n]",
- "");
- System.out.println("data:image/png;base64," + result);
- }
需要其他颜色,自己修改一下代码即是。
分享到:
相关推荐
js+html5实现半透明遮罩层弹框效果.docx
主要为大家详细介绍了js+html5实现半透明遮罩层弹框效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
HTML5+CSS3 制作的图片半透明遮罩效果
可在目标控件上显示或隐藏半透明遮罩层,支持透明度和颜色自定义,支持在遮罩层上显示自定义文本,文本颜色可调。已封装有x86/x64/AnyCpu三种dll,使用时引用相应的dll调用相关方法即可,方法参数说明已以截图形式放...
一款精美的css3半透明遮罩背景lightbox图片展示特效,这个lightbox效果共有三种展示图片的效果:渐隐效果,淡入淡出效果和全屏放大在缩小效果。
WPF弹出半透明遮罩,比较简单,适合初学者
半透明遮罩源文件fla
QT实现半透明遮罩Demo
自定义半透明遮罩层
在网页中通过div+css实现半透明效果不难,在winfrom中实现的方法,C#自定义控件半透明遮罩层
C#写的自定义半透明遮罩层,教程类的东西。我也是收集别人的!
winform自定义半透明遮罩层-源码,可实现加载状态
css3半透明遮罩lightbox效果是一款纯css3实现的精美Lightbox特效。这个lightbox效果共有三种展示图片的效果:渐隐效果,淡入淡出效果和全屏放大在缩小效果。
自定义控件,实现在winform窗口中点击查询等待时的页面加载遮罩效果,背景半透明,结果返回前被遮罩的控件不可用。 有问题可留言http://blog.csdn.net/quan278905570
1 、半透明效果可以使用 css3 中的 opacity 属性,在低版本的IE浏览器中使用IE的alpha 滤镜。代码: .opacity{ opacity:0.3; filter: alpha(opacity=30); background-color:#000; } 2 、要覆盖整个可视区域通常的...
[Android][半透明遮罩]
自定义透明遮罩层
遮罩窗口 - 给窗口增加半透明模糊遮罩
一个可以根据背景色和alpha值设置半透明效果的控件,还可以在控件上显示gif图片。