但凡图像都会涉及到透明度问题。使用透明度之后就可以看到多层图像。Alpha值就是用于描述透明度的参量。Alpha值是一个百分数,alpha=1表示源文件发出的光全部被观察者观察到。

既然是透明度,那么就必须依靠两个图像才能体现出透明度。单纯一个图像是无所谓透明度的。我们在屏幕上看到的所谓半透明的图像,指的是图像下面是黑色或者白色的图像。如果图像下面什么颜色也没有,那么就无所谓透明或者半透明了。

在MATLAB中彩色照片是通过三个颜色RGB来实现的。

计算alfa值必须先把原像素和目标像素的RGB三个颜色分量分离。然后把原像素的三个颜色分量分别乘以α值,并且把目标像素的三个颜色分量分别乘以α的反值,接下来把结果按照对应颜色分量相加,在对最后求得的每个分量结果除以alpha的最大值。

如果要获得55%的透明度就可以用公式:

R=r*1/4+r*2/4

G=g*1/4+g*2/4

B=b*1/4+b*2/4

alpha值的问题的更多相关文章

  1. Android - View Alpha值

    Android - View Alpha值 本文地址: http://blog.csdn.net/caroline_wendy Alpha值主要控制图像的透明度(0-1),0代表透明.1代表不透明. ...

  2. Android 设置alpha值来制作透明与渐变效果的实例

    Android系统支持的颜色是由4个值组成的,前3个为RGB,也就是我们常说的三原色(红.绿.蓝),最后一个值是A,也就是Alpha.这4个值都在0~255之间.颜色值越小,表示该颜色越淡,颜色值越大 ...

  3. iOS 通过有alpha值的图片创建蒙版

    @interface ViewController () @property (nonatomic, weak) IBOutlet UIImageView *imageView; @end @impl ...

  4. Bitmap之extractAlpha函数抽取alpha值

    package com.loaderman.customviewdemo; import android.app.Activity; import android.graphics.Bitmap; i ...

  5. 遍历所有子物体中renderer(渲染器)中的material(材质)并改变其alpha值实现若隐若现的效果

    using UnityEngine;using System.Collections;using UnityEngine.UI; public class CubeControl : MonoBeha ...

  6. 通过改变unity中物体的alpha值实现若隐若现的效果

    RawImage logo = mainLogo.transform.FindChild("back/headBack/Logo").GetComponent<RawImag ...

  7. NGUI和UGUI动画不能设置alpha值的问题

    动画播放alpha参数改变但无实际画面效果,原因是要挂一个脚本,设置实时更新数据. NGUI void Update() { widget.SetDirty(); } UGUI void Update ...

  8. 改变Cube的Shader下的Alpha值,实现Cube若隐若现的效果。

    private float rotaSpeed = 5f; private float timer = 1; private bool flag = true; private float delay ...

  9. 图像抠图算法学习 - Shared Sampling for Real-Time Alpha Matting

    一.序言   陆陆续续的如果累计起来,我估计至少有二十来位左右的朋友加我QQ,向我咨询有关抠图方面的算法,可惜的是,我对这方面之前一直是没有研究过的.除了利用和Photoshop中的魔棒一样的技术或者 ...

随机推荐

  1. mac OS.NE开发环境搭建

    合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入,申请备注填写姓名+技术+工作年限) Q  Q:408365330     E-Mail:eg ...

  2. redhat自定义安装必选

    redhat自定义安装必选 1.桌面 ked桌面 x 窗口系统 2.应用程序 编辑器 基于文本的互联网 图形互联网 3.服务器 服务器配置工具 万维网服务器 Windows文件 FTP服务器

  3. Ubuntu搭建svn服务器

    一,安装必须的软件包. sudo apt-getinstall subversion 二,基本的SVN服务器配置        1,新建一个目录用于存储SVN所有文件                # ...

  4. Windows安装MySQL5.7.17

    1. 在MySQL官网 http://dev.mysql.com/downloads/mysql/ 上面下载ZIP安装包(第二个:Windows (x86, 64-bit), ZIP Archive) ...

  5. 夕甲甲——孔乙己之C++版

    欧欧匹代码的格局,是和别的编程模式不同的:首先要有一个构造函数:基类里只定义了函数的形式,可以随时通过派生增加不同的实现.那些程序员们,每每学会了继承和多态,便可以接一个项目,——这是十年前的事,现在 ...

  6. 基于任务的异步模式(TAP)

    Task .net 4.0为我们带来了Task的异步,我们有以下三种方法创建Task. 1,Task.Factory.StartNew,比较常用. 2,Task.Run,是.net 4.5中增加的. ...

  7. W.Richard Stevens sock program

    在<TCP/IP卷一>中有一个程序sock,Stevens的主页上有,但是在LINUX下通常无法工作(那时还没有LINUX),经过百度,发现http://www.icir.org/chri ...

  8. 浅谈对ionic项目的理解

    在思考怎么将客户端app连接到服务器的时候,就在想ionic项目的本质是什么,一开始因为ionic serve这一命令,我以为它自己就是个服务器,但是后来一细想又感觉不是这样,不然客户端又该怎么和服务 ...

  9. node模块系统常用命令

    node模块系统常用命令 命令 示例 备注 安装模块 npm install commander 最新版本 npm install commander@1.0.0 指定版本 npm install c ...

  10. 使用Quartz.NET进行任务调度管理

    1.Quartz.NET 介绍 Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用 ...