I get the screen raw data as uchar* as below:
void MainWindow::getScreenShot()
{
QSize imageSize
= image
->size
();
int len = imageSize.width() * imageSize.height() * 3; // ?????????
uchar *rawData = new uchar[len];
emit sendRawDataToClient(rawData);
}
void MainWindow::getScreenShot()
{
QPixmap originalPixmap = QPixmap::grabWidget(this);
QImage *image = new QImage(originalPixmap.toImage());
QSize imageSize = image->size();
int len = imageSize.width() * imageSize.height() * 3; // ?????????
uchar *rawData = new uchar[len];
emit sendRawDataToClient(rawData);
}
To copy to clipboard, switch view to plain text mode
then send it to client, now client needs to convert it to qbytearray, write() get char* and not uchar*, does it make any difference to send it as char* and not uchar*?
void Client::rcvRawDataFromMW(uchar* rawData)
{
tcpSocket->write(block);
tcpSocket->disconnectFromHost();
}
void Client::rcvRawDataFromMW(uchar* rawData)
{
QByteArray block((char*)rawData);
tcpSocket->write(block);
tcpSocket->disconnectFromHost();
}
To copy to clipboard, switch view to plain text mode
Bookmarks