我想在取景器里旋转相机。我的想法是得到QByteArray并旋转它,这样像素就会在X和Y方向上被镜像。所以如果我的数组是这样的:
5 2 6 8
3 5 2 1
6 7 4 5
3 2 1 7应该是这样的:
7 1 2 3
5 4 7 6
1 2 5 3
8 6 2 5谁能告诉我我怎么做到的吗?
发布于 2014-11-17 17:02:53
您可以使用std::这样的预订
#include <algorithm>
QByteArray reverse = barr;
std::reverse(reverse.constBegin(), reverse.constEnd());或者用这个
QByteArray reverse;
std::reverse_copy(barr.constBegin(), barr.constEnd(), reverse.begin());发布于 2014-11-17 15:10:46
您如何访问您的QByteArray?
如果迭代器是一个可接受的解决方案,您可以这样做:
for(std::reverse_iterator<char*> rBegin(myQByteArray.data() + myQByteArray.size()); rBegin != std::reverse_iterator<char*>(myQByteArray.data()); ++rBegin){
std::cout << *rBegin << " ";
}请注意,如果要使用const char* QByteArray::data()调用,只需在模板中使用const初始化std::reverse_iterator:
std::reverse_iterator<const char*> rBegin(myQByteArray.data())https://stackoverflow.com/questions/26975192
复制相似问题