3.关键色

现在你将学会如何处理关键色。
用口语解释就是:如何在应用表面时除去背景色。


1.映射关键色:
SDL_MapRGB(SDL_PixelFormat  *fmt, 
Uint8 r, Uint8 g, Uint8 b); // SDL_Surface-->SDL_PixelFormat


Uint32 colorkey = SDL_MapRGB(optimizedImage->format, 
                                         0, 0xFF, 0xFF);


2.将目标图像上设置的关键色像素设为透明:
  SDL_SetColorKey(optimizedImage, SDL_SRCCOLORKEY, colorkey);


PS:
   *对于那些使用带透明色的PNG图片的人来说,
    IMG_Load()函数会自动地为他们处理透明色。
    在一个已经具有透明背景色的图片上设置关键色会导致糟糕的结果。
   *如果你使用SDL_DisplayFormat(),
    而不是SDL_DisplayFormatAlpha(),
    你也会丢失Alpha透明色。
    要保持PNG中的透明色,请不要设置关键色。
    IMG_Load()也会处理TGA图像的Alpha透明色。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值