1. 如何在 Qt显示内存里的图像数据
当采用Qt开发相机数据采集软件时,势必会遇到采集内存图像并进行处理(如缩放、旋转)操作。如果能够将内存图像数据封装成QImage,则可以利用QImage强大的图像处理功能来进行图像处理,并能很好的进行显示。
下面以灰度相机为例,介绍封装方法:
第一步:首先根据相机的SDK内的读图像函数,获取图像数据imgData、宽度imgWidth和高度imHeight。
第二步:申请QImage对象,注意类型是Format_RGB32.
第三步:利用成员函数setPixel()设置QImage像素。由于相机输出的图像是灰度图像,每一位置的R、G、B分量相等且均等于当前位置的像素值。
具体程序如下:[cpp]
QImage desImage = QImage(imgWidth,imgHeight,QImage::Format_RGB32); //RGB32
//RGB分量值int b = 0;int g = 0;int r = 0;//设置像素
for (int i=0;i<imgHeight;i++){
for (int j=0;j<imgWidth;j++){
b = (int)*(imgDataNew+i*imgWidth+j);g = b;r = g;
desImage.setPixel(j,i,qRgb(r,g,b));}}QImage desImage = QImage(imgWidth,imgHeight,QImage::Format_RGB32); //RGB32
//RGB分量值int b = 0;int g = 0;int r = 0;//设置像素
for (int i=0;i<imgHeight;i++){
for (int j=0;j<imgWidth;j++){
b = (int)*(imgDataNew+i*imgWidth+j);g = b;r = g;
desImage.setPixel(j,i,qRgb(r,g,b));}}
对于灰度图像数据,如下封装方式是错误的。
2. Qt怎么显示网络图片
#include <QtGui/QtGui>
#include "CImage.h"
CImage::CImage(QWidget *parent):QDialog(parent)
{
ImageLabel=new QLabel(tr("加载中."));
QVBoxLayout *vboxLayout = new QVBoxLayout;
vboxLayout->addWidget(ImageLabel);
setLayout(vboxLayout);
setWindowTitle(tr("加载网络图片测试"));
resize(300, 200);
currentPicture = new QPixmap;
//获取网络图片
QNetworkAccessManager *manager;
manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)));
manager->get(QNetworkRequest(QUrl("http://www.oschina.net/img/logo_s2.png")));
}
void CImage::replyFinished(QNetworkReply *reply)
{
if(reply->error() == QNetworkReply::NoError)
{
//获取字节流构造 QPixmap 对象
currentPicture->loadFromData(reply->readAll());
QDateTime now;
QString filename = now.currentDateTime().toString("yyMMddhhmmss.jpg");
currentPicture->save(filename);//保存图片
//qDebug()<<"picture saved as "<<filename;
currentFileName = filename;
//可以在onpaint中 用QPixmap 显示currentPicture,则这种方法则不需要保存
//显示图片,
QMovie *move = new QMovie(currentFileName);
ImageLabel->setMovie(move);
move->start();
}
}
3. QT中如何显示一张图片
graphicview播放
4. 在Qt中,如何显通过按钮的点击,显示不同的图片
首先你要把不同的图片准备好,可以放在资源文件中,然后写一个槽函数实现更改图片,将按钮的点击信号和该槽绑定起来。图片显示问题可以这样解决,用designer画一个界面,上面放一个按钮和一个QFrame,QFrame使用setStyleSheet函数就可以显示图片。
5. 在Qt里怎么将小图片显示在QLabel的中央位置
label默认会全部显示图片的 可以通过改变label的大小来改变图片的大小
6. 如何用QT将图片全屏显示
插入-图片-来自文件,选择你的图片文件,确定后在word中插入了图片。
然后设置图片格式,在版式选项卡设置为衬于文字下方,在大小选项卡调整图片大小,使高度和宽度与页面相当(如果担心图片长宽失真,则勾选锁定纵横比,然后对超大的图片在图片选项卡中对上下左右进行适当裁剪)。
确定后,用鼠标拖动图片到页面适当位置(覆盖全页面)。好像就行了。
7. 在Qt里怎么打开图片
ui->listWidget->setStyleSheet("QListWidget{border-image: url(fileName)}");
换成
ui->listWidget->setStyleSheet("QListWidget{border-image: url("+fileName+")}");
,不知道是你写错了,还是没有理解
8. QT中读取图片并且显示出来,
为什么你要多搞一层读取?直接
QMovie *movie = QMovie("C:\\2.jpg");
ui->label->setMovie(movie);
9. QT中让按钮上显示图片,就是让按钮更好看点,有没有简单点可靠的的方法
QWidget* widget=new QWidget;
widget->resize(800,800);
widget->show();
QPushButton* pushButton=new QPushButton(widget);
pushButton->setGeometry(10,10,200,200);
QPixmap pixmap;
pixmap.load("mypicture");
pushButton->setFixedSize(pixmap.width(),pixmap.height());
pushButton->setIcon(pixmap);
pushButton->setIconSize(QSize(pixmap.width(),pixmap.height()));
pushButton->setToolTip("Login");
pushButton->show();
还有什么不懂的
10. qt显示图片怎么才能使其在中间显示
这个好像是充满整个屏幕的显示方法吧,我使用setScaledContents ( ture),图片随窗体的增大而增大。我想的效果是,图片的大小不变,只是位置岁窗体的改变而变,始终 处在中间。