取自《Focus On 3D Terrain Programming》中的一段:
 //--------------------------------------------------------------
// Name: CIMAGE::LoadUncompressedTGA - private
// Description: Load an uncompressed targa (TGA)
// Arguments: None
// Return Value: A boolean variable: -true: TGA was loaded
// -false: TGA was not loaded
//--------------------------------------------------------------
bool CIMAGE::LoadUncompressedTGA( void )
{
........
....
pTGAinfo.m_uiBytesPerPixel= m_uiBPP/;
pTGAinfo.m_uiImageSize = ( pTGAinfo.m_uiBytesPerPixel*m_uiWidth*m_uiHeight ); //copy the image data
memcpy( m_ucpData, ucpFile, pTGAinfo.m_uiImageSize ); //byte swapping ( optimized by Steve Thomas )
for( uiCSwap=; uiCSwap<( int )pTGAinfo.m_uiImageSize; uiCSwap+=pTGAinfo.m_uiBytesPerPixel )
{
m_ucpData[uiCSwap]^= m_ucpData[uiCSwap+]^=m_ucpData[uiCSwap]^= m_ucpData[uiCSwap+];
} //the uncompressed TGA has been successfully loaded
return true;
}
===============
开开眼界,把BGR转换为RGB的交换代码,过于高大上了,直接操作的硬件,可以提高一定的速度,对大图片有用。

    m_ucpData[uiCSwap]^= m_ucpData[uiCSwap+2]^=m_ucpData[uiCSwap]^= m_ucpData[uiCSwap+2];

最新文章

  1. &lt;&lt;&lt; html5本地储存
  2. EditPlus 3.7.1186 中文版(10月27日更新)重大性能改进,推荐更新!
  3. 模板volist自增变量
  4. taiyi_interview(Introduction To Database Refactoring)
  5. spring笔记1 spring MVC的基础知识1
  6. Android manifest之manifest标签详细介绍
  7. 初学Node(三)模块系统
  8. Es使用。
  9. ArcGIS Server 10.2 实战(五)spatial etl tool 格式转换服务
  10. Spring事务传播特性的浅析——事务方法嵌套调用的迷茫
  11. 2015.4.16-SQL-内连接与外连接
  12. python 集合相关操作
  13. Linux 虚拟内存和物理内存的理解(转)
  14. API创建员工地址
  15. [物理学与PDEs]第1章习题13 静磁场的矢势在媒质交界面上的条件
  16. RPC远程调用——Dubbo
  17. 一步一步教你从零开始写C语言链表---构建一个链表
  18. Linux基础命令---init进程
  19. [Algorithm] Reverse a linked list
  20. Chapter 5(串)

热门文章

  1. 史上最用心的iOS App上架流程【转】
  2. Miscellaneous--Tech
  3. Mac 系统下将普通文件变为可执行文件
  4. 【转】Android新组件Material Dialog,SwipeRefreshLayout,ListPopupWindow,PopupMenu等
  5. saltstack之(二)软件包下载安装
  6. pip使用国内镜像服务器
  7. git 入门 2
  8. java 高效批量插入 sqlserver 数据库
  9. PHP 开放JSON格式接口实例
  10. Java遇见HTML——JSP篇之JSP基础语法