用Java实现颜色透明值混算的一种方法

原创 2003年11月06日 00:29:00

主页:http://www.maxss.net
Email: maxss.net@163.com


  在进行多媒体或游戏程序开发时,会需要对重叠的颜色处理其透明度以产生更好的效果。下面为大家介绍如何用Java语言实现透明值混算的方法。

  各点像素的RGB值是按一定比例混合而成的,这个比例由Alpha值决定,具体算式见下:

  Alpha = 0 ~ 100
  R = ( R1 * (100 - Alpha) + R2 * Alpha ) / 100
  G = ( G1 * (100 - Alpha) + G2 * Alpha ) / 100
  B = ( B1 * (100 - Alpha) + B2 * Alpha ) / 100

  示例:
  RGB1 ( 232, 54, 13 )
  RGB2 ( 94, 186, 233 )

  Alpha = 30
  R = ( 232 * 70 + 94 * 30 ) / 100 = 190.6 -> 190
  G = ( 54 * 70 + 186 * 30 ) / 100 = 93.6 -> 93
  B = ( 13 * 70 + 233 * 30 ) / 100 = 79
  Alpha = 50
  R = ( 232 * 50 + 94 * 50 ) / 100 = 163
  G = ( 54 * 50 + 186 * 50 ) / 100 = 120
  B = ( 13 * 50 + 233 * 50 ) / 100 = 123

这样在Java中可以对以上计算方法封装成函数或类,以方便代码复用,对应的Java代码如下:

 

RGB颜色与16进制色以及透明色

RGB颜色与16进制色以及透明色是我们在开发经常要用到的,不太明白可以花几分钟看看:        RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它...
  • liang5630
  • liang5630
  • 2015年02月04日 11:27
  • 47542

java 透明图片

原文http://blog.csdn.net/kangojian/archive/2010/02/24/5323573.aspx  java 透明图片 收藏 关于Java生成背景透明的png图片最近用...
  • wangjinsi
  • wangjinsi
  • 2011年05月25日 14:54
  • 986

一种简单的方法在程序中实现透明效果(JAVA)(源代码)

我支持开源,因此我会把自己未涉及公司利益的代码和思想贴出来。以前要求回复邮箱,因为我想看看有没有人要这些东西。以前家里不能上网,只能去女朋友那蹭网,没时间维护blog,现在家里装了adsl,希望能多多...
  • ruyanhai
  • ruyanhai
  • 2007年07月07日 23:50
  • 4994

Java Graphics2D绘制背景透明的图形过程

package com.jhy.time; import java.awt.AlphaComposite; import java.awt.BasicStroke; import java.awt....
  • gingerredjade
  • gingerredjade
  • 2016年11月16日 23:14
  • 5036

JAVA图片处理之黑色/白色透明化

package org.hdht.util.image; import java.awt.Graphics2D; import java.awt.Image; import java.awt...
  • jzshmyt
  • jzshmyt
  • 2012年12月21日 16:10
  • 2793

Android Java设置一个图片的颜色为透明色(不显示,不是背景色),可用于无透明通道的ImageView

http://stackoverflow.com/questions/8264181/replace-specific-color-in-bitmap-with-transparency 用...
  • brook0344
  • brook0344
  • 2015年08月07日 19:57
  • 3319

第三十七节 java学习——color类

color类是用来封装颜色的,使用color对象较为简单的方法是直接使用color类提供的预定义的颜色。像红色color.red,橙色color.orange等,也可以使用RGB颜色模式进行定义。所谓...
  • yingzhaom
  • yingzhaom
  • 2013年01月03日 09:54
  • 11839

java 中 Color类

Color类 Color类是用来封装颜色的,在上面的例子中多次用到。使用Color对象较为简单的方法是直接使用Color类提供的预定义的颜色,像红色Color.red、橙色Color.o...
  • liuzuyi200
  • liuzuyi200
  • 2013年09月21日 15:41
  • 9925

Java实现,透明度百分比转换成十六进制

下面是Java实现,透明度百分比转换成十六进制: for (double i = 1; i >= 0; i -= 0.01) { i = Math.round(i * 100) / 100....
  • zhaojianand
  • zhaojianand
  • 2016年06月16日 14:19
  • 1606

去掉png中透明色并替换为另一种颜色的Java程序

  • 2008年11月05日 09:50
  • 7KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用Java实现颜色透明值混算的一种方法
举报原因:
原因补充:

(最多只允许输入30个字)