本篇文章给大家谈谈linux的rgb怎么做,以及rgb怎么弄对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Ubuntu 9.04 要如何才能实现RGBA效果?
- 2、rgb颜色模式怎么设置
- 3、linux上通过FFmpeg得到rgb的每一帧后显示在屏幕用什么方法啊?
- 4、yuv 422 转换成rgb 的能在arm linux上显示出来的c代码 怎么样了 做出来了吗?想请教你
1、Ubuntu 9.04 要如何才能实现RGBA效果?
今天终于知道还有这么个东西,RGBA,就是RGB再加上Alpha,是通过给每一像素多分配一部分空间来存储透明信息,从而实现真透明效果,具体的解释和来源我附在后面了。今天下午给自己的arch加上了毛玻璃效果,但是只有部分软件有这样的效果,因为RGBA效果需要软件界面本身的支持,作者当初没考虑的话,那就没辙了。
教程1:在archlinux上实现rgba:
教程2:什么是RGBA:
From wikipedia
RGBA代表Red Green Blue Alpha。虽然它有的时候被描述为一个颜色空间,但是它其实仅仅是RGB模型的附加了额外的信息。采用的颜色是RGB,可以属于任何一种RGB颜色空间,但是Catmull和Smith在1971至1972年间提出了这个不可或缺的alpha数值,使得alpha渲染和alpha合成变得可能。提出者以alpha来命名是源于经典的线性插值方程αA + (1-α)B所用的就是这个希腊字母。
alpha通道一般用作不透明度参数。如果一个像素的alpha通道数值为0%,那它就是完全透明的(也就是看不见的),而数值为 100%则意味着一个完全不透明的像素(传统的数字图像)。在0%和100%之间的值则使得像素可以透过背景显示出来,就像透过玻璃(半透明性),这种效果是简单的二元透明性(透明或不透明)做不到的。它使数码合成变得容易。alpha通道值可以用百分比、整数或者像RGB参数那样用0到1的实数表示。
有时它也被写成ARGB(像RGBA一样,但是第一个数据是alpha),是Macromedia的产品使用的术语。比如,0x80FFFF00是50%透明的黄色,因为所有的参数都在0到255的范围内表示。0x80是128,大约是255的一半。
PNG是一种使用RGBA的图像格式。
教程3:Ubuntu实现的效果
2、rgb颜色模式怎么设置
RGB颜色设置方法如下:
1、打开电脑桌面的PS软件,点击进入,如下图所示。
2、在界面找到文件下拉框,点击打开,如下图所示。
3、浏览文件夹,打开选择的文件,如下图所示。
4、然后选择PS界面上方菜单栏的图像下拉框的模式,如下图所示。
5、最后点击RGB颜色,修改完成后就是RGB颜色模式了,如下图所示。
操作注意事项:记得使用快捷键,加快做设计的速度。
3、linux上通过FFmpeg得到rgb的每一帧后显示在屏幕用什么方法啊?
需要调用 framebuffer 或 xlib 相关 API。在X桌面上显示的话有很多图形库可以使用如 gdk(gtk)、SDL、Qt ...
也可以保存到本地文件,可以看一下BMP格式,几乎就是头加上RGB格式像素点数据。
4、yuv 422 转换成rgb 的能在arm linux上显示出来的c代码 怎么样了 做出来了吗?想请教你
这是444的YUV转RGB的代码,422的你自己把数据整理一下就行了
struct pixel{
unsigned char cRed;
unsigned char cGreen;
unsigned char cBlue;
};
/*
公式
Y = 0.299*R + 0.587*G + 0.114*B
Cb = - 0.1687*R - 0.3313*G + 0.5 *B + 128
Cr = 0.5 *R - 0.4187*G - 0.0813*B + 128
*/
void YUV444_RGB()
{
long temp,i,k,temp2;
struct pixel * lpSrcPixel=(struct pixel *)m_lpsrcBuf;//YUV buffer
struct pixel * lpDstPixel=(struct pixel *)m_lpdstBuf;//RGB buffer
for(k=0;km_dstheight;k++)
{
for(i=0;im_dstwidth;i++){
temp = (int)(lpSrcPixel-cRed)*1024 + (int)(lpSrcPixel-cBlue - 128) * 1436;
lpDstPixel-cRed = (unsigned char)(temp10);
if(temp0) lpDstPixel-cRed = 0xff - lpDstPixel-cRed;
temp = (int)(lpSrcPixel-cRed)*1024 - (int)(lpSrcPixel-cGreen - 128) * 352 - (int)(lpSrcPixel-cBlue - 128) * 731 ;
lpDstPixel-cGreen = (unsigned char)(temp10);
if(temp0) lpDstPixel-cGreen = 0xff - lpDstPixel-cGreen;
temp = (int)(lpSrcPixel-cRed)*1024 + (int)(lpSrcPixel-cGreen - 128) * 1815;
lpDstPixel-cBlue = (unsigned char)(temp10);
if(temp0) lpDstPixel-cBlue = 0xff - lpDstPixel-cBlue;
lpSrcPixel ++;
lpDstPixel ++;
}
}
linux的rgb怎么做的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于rgb怎么弄、linux的rgb怎么做的信息别忘了在本站进行查找喔。