|
1Qter豆
C++基础数据类型和QT QImage数据类型转换: 两个槽函数:
//打开图像功能
void MainWindow::on_openBtn_clicked()
{
QString filename;
filename=QFileDialog::getOpenFileName(this,
tr("选择图像"),
"",
tr("Images (*.png *.bmp *.jpg *.tif *.GIF )"));
if(filename.isEmpty())
{
return;
}
else
{
QImage* img=new QImage;
if(! ( img->load(filename) ) ) //加载图像
{
QMessageBox::information(this,
tr("打开图像失败"),
tr("打开图像失败!"));
delete img;
return;
}
imgScaled = new QImage;
*imgScaled=img->scaled(600,
400,
Qt::KeepAspectRatio);
ui->label->setPixmap(QPixmap::fromImage(*imgScaled));
}
}
//调用图像处理dll,将打开的图像处理后显示出来
void MainWindow::on_pushButton_clicked()
{
bool a=false;
unsigned char *p=new unsigned char;
p=imgScaled->bits();
unsigned char *q=new unsigned char;
q=p;
if(!p)
{
qDebug()<<"请输入图片";
}else
{
a=Enhance(p,q,350,200,0.01f,0.01f);
qDebug()<<a;
//强制转换 哭唧唧
std::string str=(char *)q;
QString sstr=QString::fromStdString(str);
QImage *image=new QImage;
if(image->load(sstr))
{
qDebug()<<"哈哈哈";
return;
}
QImage *img2= new QImage;
*img2=image->scaled(600,
400,
Qt::KeepAspectRatio);
ui->imageLabel->setPixmap(QPixmap::fromImage(*img2));
}
}
请各位大神指教,第二个槽函数里面的数据类型问题在哪里,这个程序运行过程中不报错,能打印出a的值True,但是不能打印出哈哈哈,imageLabel显示不出图像来
|
|