我有一张720x576的图片在unsigned char luma[414720]
中逐行保存,我需要显示一张640x480大小的居中图片。
我的问题是:
使用一个for cycle有选择地访问保存在一个缓冲区中的数据的最有效方法是什么?
谢谢你的回答。
彼得杜加
最佳答案
试试这个:
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);
}