繁体   English   中英

旋转一个QByteArray

[英]Rotating a QByteArray

我想在取景器中旋转相机。 我的想法是获取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

有人可以告诉我该怎么做吗?

您可以像这样使用std :: reserve

#include <algorithm> 

QByteArray reverse = barr; 
std::reverse(reverse.constBegin(), reverse.constEnd());

或使用这个

QByteArray reverse;
std::reverse_copy(barr.constBegin(), barr.constEnd(), reverse.begin());

您如何访问您的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())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM