`
jindw
  • 浏览: 508351 次
  • 性别: Icon_minigender_1
  • 来自: 初到北京
社区版块
存档分类
最新评论

关于半透明遮罩的优化(关机效果)

阅读更多
最近在搞JSI 的重构,少来冒泡了。
发一个中午的刚用到的小技巧:

在关机效果实现上,现在一般根据浏览器特征分别使用 虑镜/样式/图片 去模拟。

其中Opera是不支持网页透明的,只能用png的alpha透明模拟。
所以,我们需要一张特别的小图片。一个象素,alpha透明。

但是这个单象素图片的出现,感觉有点怪怪的,而且当网速很慢的时候,装载这个小图片还会延迟,效果不好。

不过,Opera的另外一个特性,可以避免这个问题:data:协议的支持。

对于这种小图片,完全可以编码到样式里面


css 代码
  1. background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mM4ffp0AwAHqALiYeNxSgAAAABJRU5ErkJggg==)


好了,如此一来,关机效果的实现,就没有图片这个累赘了。


图片的生成:

图片的生成,浪费我一个中午的时间:(
开始本想找个软件做掉,最后没发现一个如意的,干脆,自己看看api,自己写了一下:
代码如下:
java 代码
  1. public static void main(String[] args) throws IOException {
  2. BufferedImage image = new BufferedImage(1, 1,
  3. BufferedImage.TYPE_INT_ARGB);
  4. Graphics2D g2d = image.createGraphics();
  5. // RGBA #cccccc80
  6. g2d.setColor(new Color(0xcc, 0xcc, 0xcc, 0x80));
  7. g2d.fillRect(0, 0, 1, 1);
  8. g2d.dispose();
  9. IIOImage iioImage = new IIOImage(image, null, null);
  10. ImageTypeSpecifier type = ImageTypeSpecifier
  11. .createFromRenderedImage(image);
  12. ImageWriter writer = (ImageWriter) ImageIO.getImageWriters(type, "png")
  13. .next();
  14. ByteArrayOutputStream out = new ByteArrayOutputStream();
  15. writer.setOutput(ImageIO.createImageOutputStream(out));
  16. writer.write(null, iioImage, null);
  17. BASE64Encoder encoder = new BASE64Encoder();
  18. String result = encoder.encode(out.toByteArray()).replaceAll("[\r\n]",
  19. "");
  20. System.out.println("data:image/png;base64," + result);
  21. }

需要其他颜色,自己修改一下代码即是。
分享到:
评论
4 楼 chpn 2007-05-24  
看来kde下面的那个自带浏览器用这种方法也应该得行。回去试试
3 楼 Tin 2007-05-23  
这个方式厉害呀,还真没见识过。
2 楼 jindw 2007-05-18  
orange200310 写道
YUI 里面有这样的实现,可以去参考^_^


以前的版本,就是常见的方式实现,没什么参考价值。新版本我倒没注意过。


另外,opera9也开始支持css3的opacity属性了。
1 楼 orange200310 2007-05-18  
YUI 里面有这样的实现,可以去参考^_^

相关推荐

    js+html5实现半透明遮罩层弹框效果

    遮罩层弹框是前端开发中常见的交互效果,它通常用于在用户进行某些操作时,显示在页面上层的半透明遮罩,以提示用户当前状态或者用于表单提交等场景。 知识点1:HTML5中实现遮罩层弹框的结构 在HTML5中,我们通常...

    js+html5实现半透明遮罩层弹框效果.docx

    在现代网页设计中,半透明遮罩层弹框效果是一种非常常见的交互方式,它不仅可以提升用户体验,还能让页面更加美观。通过JavaScript与HTML5的结合使用,我们可以轻松地实现这一效果。 #### 二、技术背景 在开始之前...

    C# 自定义半透明遮罩层

    在C#编程中,创建一个自定义的半透明遮罩层是常见的需求,尤其是在开发桌面应用或者游戏界面时,为了实现部分区域的视觉隔离或加载等待效果。本教程将介绍如何利用C#来构建这样的功能。 首先,我们需要理解遮罩层的...

    Winform半透明遮罩层

    在Windows Forms(Winform)开发中,创建半透明遮罩层是一种常见的需求,它用于提供一种视觉效果,比如在后台操作进行时提示用户或者隐藏部分界面。本篇将深入探讨如何实现这样的效果,主要涉及半透明、遮罩层以及...

    HTML5+CSS3 制作的图片半透明遮罩效果

    本主题聚焦于使用HTML5和CSS3来实现图片的半透明遮罩效果,这是一种常见且实用的设计手法,常用于增加用户界面的层次感和引导用户的注意力。 首先,HTML5中的`<img>`标签用于插入图像,其基本语法是`替代文本">`。...

    css3半透明遮罩背景lightbox图片展示特效

    在“css3半透明遮罩背景lightbox图片展示特效”中,我们主要关注的是如何使用CSS3来创建具有半透明遮罩和动态效果的图片展示组件,通常被称为Lightbox。Lightbox是一种流行的设计模式,当用户点击图片预览链接时,会...

    flash半透明遮罩

    在Flash动画设计中,"半透明遮罩"是一种常见的技术,用于实现动态的视觉效果,如隐藏或揭示部分内容,创建出层叠、过渡或者动画特效。这个标题所指的"Flash半透明遮罩"可能是一个包含此类技术的FLA文件,这是一种...

    QT实现半透明遮罩Demo

    在QT中实现半透明遮罩的效果,可以为用户提供更加美观和交互性的体验,尤其在提示信息、加载等待或选择操作时非常常见。 首先,我们需要理解“遮罩”(Mask)的概念。在UI设计中,遮罩通常是一个覆盖在其他元素上的...

    WinForm控件半透明遮罩dll

    可在目标控件上显示或隐藏半透明遮罩层,支持透明度和颜色自定义,支持在遮罩层上显示自定义文本,文本颜色可调。已封装有x86/x64/AnyCpu三种dll,使用时引用相应的dll调用相关方法即可,方法参数说明已以截图形式放...

    WPF弹出半透明遮罩

    在Windows Presentation Foundation(WPF)中,创建一个半透明的弹出遮罩是常见的需求,尤其是在设计用户界面时,为了提供更好的用户体验,我们可能需要在主窗口上显示一个半透明的覆盖层,以突出显示某些内容或者...

    自定义半透明遮罩层

    在网页设计和开发中,自定义半透明遮罩层是一种常见的视觉效果,它通常用于创建交互式的用户体验,比如加载提示、弹出窗口或模态框背景。遮罩层可以覆盖整个页面或者特定区域,通过半透明黑色或灰色背景,使用户聚焦...

    winform自定义半透明遮罩层-源码.rar

    本项目"winform自定义半透明遮罩层-源码.rar"提供了一种实现这种效果的方法,特别关注了自定义性和半透明特性。下面将详细讲解如何在C#环境下创建这样的遮罩层。 首先,了解遮罩层的基本概念。遮罩层通常是一个全屏...

    C#自定义半透明遮罩层源码

    在Windows Forms应用开发中,有时候我们需要为用户界面添加一种半透明的遮罩层,以达到某种视觉效果,比如加载等待、提示信息等。标题提到的"C#自定义半透明遮罩层源码"正是针对这一需求提供的解决方案。下面将详细...

    自定义半透明遮罩层-源码

    在IT行业中,自定义半透明遮罩层是一个常见的前端开发任务,它主要用于创建一个覆盖在网页元素上方的半透明黑屏或灰屏效果,通常用于弹窗、加载提示或者阻止用户与页面其他部分的交互。这个"自定义半透明遮罩层-源码...

    [Android][半透明遮罩]

    在Android开发中,半透明遮罩是一种常见的设计元素,它常用于实现如加载动画、弹出框、悬浮按钮等交互效果。半透明遮罩能够提供一种视觉上的过渡,让用户知道某些操作正在进行或者某些内容被隐藏。本文将深入探讨...

    css3半透明遮罩lightbox效果.zip

    在本案例中,我们关注的是一个名为"css3半透明遮罩lightbox效果.zip"的压缩包文件,它包含了利用CSS3实现的Lightbox特效。Lightbox是一种流行的网页图像查看技术,当用户点击缩略图时,大图会在半透明的背景层上弹出...

    Winform----自定义控件之背景半透明遮罩加载控件

    本主题将深入探讨如何创建一个自定义控件,实现背景半透明的遮罩加载效果,以在进行数据查询或其他耗时操作时提供良好的用户体验。 首先,我们需要创建一个新的用户控件(UserControl)。在Visual Studio中,可以通过...

    android得到灰色半透明遮盖效果

    在Android开发过程中,为了提升应用的表现力和用户体验,开发者经常需要对界面进行各种视觉效果的处理,其中之一就是实现灰色半透明遮罩效果。这种效果不仅可以美化界面,还能增强交互感,尤其是在过渡动画、提示框...

    遮罩窗口 - 给窗口增加半透明模糊遮罩

    "遮罩窗口 - 给窗口增加半透明模糊遮罩"这个主题,主要涉及到的是如何通过编程技术来提升应用程序的视觉效果和用户体验。这个技术通常用于创建一个在主窗口之上显示的半透明、模糊的覆盖层,它能够吸引用户的注意力...

    div背景半透明,覆盖整个可视区域的遮罩层效果

    1 、半透明效果可以使用 css3 中的 opacity 属性,在低版本的IE浏览器中使用IE的alpha 滤镜。代码: .opacity{ opacity:0.3; filter: alpha(opacity=30); background-color:#000; } 2 、要覆盖整个可视区域通常的...

Global site tag (gtag.js) - Google Analytics