本文主要是介绍RGB24和YUV420旋转90度的源代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
YUV420旋转90度void YUVRotate90(BYTE *des,BYTE *src,int width,int height)
{
int i=0,j=0,n=0;
int hw=width/2,hh=height/2;
for(j=width;j>0;j--)
for(i=0;i<height;i++)
{
des[n++] = src[width*i+j];
}
unsigned char *ptmp = src+width*height;
for(j=hw;j>0;j--)
for(i=0;i<hh;i++)
{
des[n++] = ptmp[hw*i+j];
}
ptmp = src+width*height*5/4;
for(j=hw;j>0;j--)
for(i=0;i<hh;i++)
{
des[n++] = ptmp[hw*i+j];
}
}
RGB24旋转90度
void RGBRotate90(BYTE *des,BYTE *src,int width,int height)
{
if ((!des)||(!src))
{
return;
}
int n = 0;
int linesize = width*3;
int i,j;
for (j=width;j>0;j--)
for (i=0;i<height;i++)
{
memcpy(&des[n],&src[linesize*i+j*3-3],3);
n+=3;
}
/*
if((!des)||(!src))
{
return;
}
int n = 0;
int linesize = width*3;
int i;
int j;
// 顺时针的旋转的算法
for(j = 0;j < width ;j++)
for(i= height;i>0;i--)
{
memcpy(&des[n],&src[linesize*(i-1)+j*3-3],3);
n+=3;
}
*/
}
转载自: http://www.rosoo.net/a/201006/9689.html
相关热门文章
- PHP Extension开发基础
- 随着计算机技术、通信技术...
- 随着计算机技术、通信技术...
- 速途数码家电11月15日讯(文/谢...
- 电脑绣花机比普通的绣花机好在...
- test123
- 编写安全代码——小心有符号数...
- 使用openssl api进行加密解密...
- 一段自己打印自己的c程序...
- sql relay的c++接口
- 修改默认端口为222,centos自...
- 用PHP做一个ftp登录页面...
- Toad for Oracle工具,为什么在...
- 本地win7安装vmw9系统winserv...
- powermt config是所什么用的...
给主人留下些什么吧!~~
评论热议
这篇关于RGB24和YUV420旋转90度的源代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!