Добрый день!
Есть необходимость аллоцировать QImage из готового буфера.
int main(int argc, char *argv[])
{
int width = 3;
int height = 3;
size_t t = width*height*4;
circular_buffer<uint8_t> rxRingBuffer(t);
uint8_t* pBuf = &(rxRingBuffer.front());
QImage img((uchar*)pBuf, width, height, QImage::Format_ARGB32);
img.setPixel(0,0, 100);
for(int i = 0; i < t; i++){
cout<<(int)rxRingBuffer[i]<<endl;
}
return 0;
}
И если setPixel отрабатывает нормально, то есть в rxRingBuffer лежит первым элементом 100. То теперь появилась необходимость вращать полученную QImage.
QTransform rotating;
rotating.rotate(45);
img = img.transformed(rotating);
memcpy(pBuf, img.bits(), t);
то помимо создания нового временного QImage необходимо копирование в исходный pBuf. Можно ли как-то обойти?