如何有选择地从缓冲区读取数据

时间:2014-02-22 19:57:30

标签: c++ c

我在unsigned char luma[414720]中逐行保存了720x576图片,我需要显示尺寸为640x480的居中图片。

我的问题是: 使用一个循环来选择性地访问保存在一个缓冲区中的数据的最有效方法是什么?

感谢您的回答。

Petr Duga

1 个答案:

答案 0 :(得分:2)

试试这个:

newLuma是要显示的新图片。

int i= 0;
char newLuma[640*480];
int rowStart = (576 - 480)/2 -1 ;
int colStart = (720 - 640)/2 -1 ;


for ( i = 0; i < 480; i++)
{
    memcpy(newLuma[i*640], luma[720*(rowStart + i) + colStart], 640);
}
相关问题