SDL学习(四) Color Keying(抠色…
来源:互联网 发布:博客app软件下载 编辑:程序博客网 时间:2024/05/18 17:42
(照翻教程)现在你即将要学习如何使用colorkey,用English来说就是这个教程将要教你如何在使用一个表面的时候将其背景色去掉。SDL_Surface结构有一个叫做colorkey的结构,也就是代表了你在bliting表面的时候不想予以显示的颜色,当你想使用透明表面的时候这个是灰常有用滴!
如图,小人的背景是青色的(R:0,G:FF,B:FF),那么我们现在要将小人背景透明化,则现在的colorkey就是青色的。
color key 通常设置在图片装载的时候。
#include"SDL.h"
#include<string>
//窗口层显示宽高和像素位设置
const int SCREEN_WIDTH=640;
const int SCREEN_HEIGHT=480;
const int SCREEN_BPP=32;
//表面指针
SDL_Surface *foo=NULL;
SDL_Surface *screen=NULL;
SDL_Surface *background=NULL;
//装载图像的函数
SDL_Surface*load_image(std::string filename)
{
}
//实现将源表面与目标表面做链接的函数
voidapply_surface(int x,int y,SDL_Surface *source,SDL_Surface*destination)
{//x和y决定了源表面在目标表面的相对位置
}
int main(int argc,char *argv[])
{
}
1.int
里面key就是要抠掉的颜色
2.Uint32 SDL_MapRGB(SDL_PixelFormat*fmt,Unit8 r,Uint 8 ,Uint8 b)【RGB映射函数】
fmt是一个颜色格式,通常会使用作为被抠色的矩形图片的颜色格式,下面是一个SLD_Surface结构
typedef struct SDL_Surface {
}
3.void DisplaySurface::colorKey(Uint8r,Uint g,Uint32 b,Uint32 flag)
设置抠色模式函数,flag是位标,一般有三种模式,SDl_SRCCOLORKEY,表示正常抠色,
SDL_SRCCOLORKEY|SDL_RLEACCEL表示将抠色以后的图片重新编码,(通常意味着重复使用的时候会快一些)
作为背景的颜色,一般选择’无红满绿满蓝'或者‘满红无绿满蓝’
- SDL学习(四) Color Keying(抠色…
- SDL入门教程(七):SDL抠色(Color Keying)
- SDL入门教程(七):SDL抠色(Color Keying)
- SDL入门教程(七):SDL抠色(Color Keying)
- 嵌入式 Color Keying(抠色)SDL背景透明
- SDL学习(六) Key Presses(键盘…
- SDL学习(五) 真体字(true type …
- SDL学习(二) 设置SDL扩展库
- SDL学习(七) Mouse Move(鼠标事…
- SDL学习(一) SDL对于bmp的基本处…
- OpenGL ES & SDL(转载)
- OpenGL ES & SDL(转载)
- poj 2777 : Count Color (线…
- Color the ball
- poj 2777 Count Color
- android color.xml
- 兴趣学习: 信息熵 ---- 《数学…
- POJ 1046 Color Me Less(水题)
- SDL学习(一) SDL对于bmp的基本处…
- Http协议
- 2010年度《影评达人》活动火…
- SDL学习(二) 设置SDL扩展库
- SDL学习(三)事件驱动编程
- SDL学习(四) Color Keying(抠色…
- 三级菜单(4) 函数优化
- SDL学习(五) 真体字(true type …
- HDU 1436 Horizontally Visible Segments(点放两倍)
- SDL学习(六) Key Presses(键盘…
- SDL学习(七) Mouse Move(鼠标事…
- 九宫格日记-2011年11月13日
- 模板匹配与相关系数法
- 寻找春天 九宫格日记-2011.11.29