【C语言】MATLAB中Jet伪彩色模式在C语言中的实现

项目中需要在嵌入式系统中驱动一块彩屏,需要用颜色来表征一个信号的强度,当时就想到了matlab里的jet配色,无奈网上没有类似代

码,只好自己写了一套函数

屏幕支持16位彩色,为RGB565格式,在此贴出代码,希望可以帮大家节省时间。


IPS_GetRGB565Color

  • 由R,G,B颜色分量获得RGB565格式的色彩
  • 输入R,G,B分量
  • 返回RGB565格式的16位彩色 
u16 IPS_GetRGB565Color(u8 R,u8 G,u8 B)
{
	u16 rgb565;
	rgb565  = (R>>3)<<11;
	rgb565 |= (G>>2)<<5;
	rgb565 |= (B>>3);
	return rgb565;
}

IPS_GetJetColor

  • 根据输入的强度值(0-255)返回对应的Jet伪彩色模型配色
  • 输入强度值val(0-255)
  • 输出RGB565格式的Jet伪彩色模型配色
u16 IPS_GetJetColor(u8 val)
{
	u8 R,G,B;
	R = ( val > 128 ) ? (val < 192 ) ? ( val - 128 ) * 4 : 255 : 0;
	G = ( val < 64 ) ? val * 4 : ( val > 192) ? (256 - (4 * ( val - 192 ) ) ) : 255;
	B = ( val <= 64 ) ? 255 : ( val > 128 ) ? 0 : (256 - (4 * ( val - 128) ) );
	return IPS_GetRGB565Color(R,G,B);
}

实际效果:

如左侧彩条

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值