資源簡介
圖片預覽
可以放大,縮小圖片

代碼片段和文件信息
/****************************************************************
**?BlackPixmapItem
**?自定義graphicsitem,用于加載圖片
**
**?blackpixmapitem.h
**
**?Zhou?Tao???2017-05-18T11:09:16
**
**?QQ?:?741301964
**
**?深圳市XX電子股份有限公司
**
****************************************************************/
#include?“blackpixmapitem.h“
BlackPixmapItem::BlackPixmapItem(int?width?int?height?bool?isPreview):
????m_nWidth(width)m_nHeight(height)m_bIsPreview(isPreview){
}
QRectF?BlackPixmapItem::boundingRect()?const
{
????return?QRectF(0?0?m_nWidth?m_nHeight);
}
//設置item圖片
void?BlackPixmapItem::setPixmap(const?QPixmap?Pixmap)
{
????prepareGeometryChange();
????pixmap?=?Pixmap;
????update();
}
//設置item大小
void?BlackPixmapItem::setSize(int?w?int?h)
{
????prepareGeometryChange();
????m_nWidth?=?w;
????m_nHeight?=?h;
}
//item縮放
void?BlackPixmapItem::setZoom(qreal?zoomFactor)
{
????QTransform?transform;
????transform.scale(zoomFactorzoomFactor);
????transform.translate(1024*(1.0-zoomFactor)/2600*(1.0-zoomFactor)/2);
????qDebug()<<1024*(1.0-zoomFactor)/2<<600*(1.0-zoomFactor)/2;
????setTransform(transform);
}
//清除圖片
void?BlackPixmapItem::clearPixmap()
{
????QPixmap?clearPix?=?QPixmap();
????pixmap?=?clearPix;
????update();
}
#include?
//繪制item
void?BlackPixmapItem::paint(QPainter?*painter?const?QstyleOptionGraphicsItem?*option?QWidget?*widget)
{
????Q_UNUSED(widget);
????Q_UNUSED(option);
????painter->setBrush(Qt::black);//背景填充黑色
????painter->drawRoundedRect(0?0?m_nWidthm_nHeight?2?2);
????painter->setRenderHint(QPainter::SmoothPixmapTransformQt::SmoothTransformation);
????//繪制圖片
????if(!pixmap.isNull())
????painter->drawPixmap((m_nWidth-pixmap.width())/2?(m_nHeight-pixmap.height())/2
????????????????????????pixmap.width()pixmap.height()pixmap);
????//陰影遮罩
????/*if(isSelected)
????{
????????painter->setBrush(Qt::gray);//背景填充
????????painter->setOpacity(0.5);//透明度
????????painter->drawRoundedRect(0?0?m_nWidthm_nHeight?2?2);
????}*/
}
//點擊放大
void?BlackPixmapItem::setFocusIn()
{
????qDebug()<<“BlackPixmapItem?focusInEvent?“;
????//isSelected?=?true;
????//update();//更新
????setScale(1.05);//放大
}
//釋放縮小
void?BlackPixmapItem::setFocusOut()
{
????qDebug()<<“BlackPixmapItem?focusOutEvent?“;
????//isSelected?=?false;
????//update();//更新
????setScale(1);//縮小
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-12-28?00:26??ImageView\
?????文件????????2545??2017-06-14?09:50??ImageView\blackpixmapitem.cpp
?????文件????????1857??2017-06-05?17:17??ImageView\blackpixmapitem.h
?????文件????????6267??2017-06-05?17:17??ImageView\customgraphicsview.cpp
?????文件????????2288??2017-06-05?17:17??ImageView\customgraphicsview.h
?????目錄???????????0??2017-06-14?10:04??ImageView\image\
?????文件????????2986??2017-06-05?17:17??ImageView\imageloadthread.cpp
?????文件????????1531??2017-06-05?17:17??ImageView\imageloadthread.h
?????文件???????12722??2017-06-14?09:59??ImageView\imagepreview.cpp
?????文件????????3143??2017-06-14?09:22??ImageView\imagepreview.h
?????文件???????18851??2017-06-14?10:01??ImageView\imageview.cpp
?????文件????????4812??2017-06-14?09:26??ImageView\imageview.h
?????文件?????????630??2017-06-13?17:47??ImageView\ImageView.pro
?????文件???????23908??2017-12-28?00:26??ImageView\ImageView.pro.user
?????文件???????23853??2017-06-14?09:17??ImageView\ImageView.pro.user.0577304
?????文件?????????183??2017-06-05?17:11??ImageView\main.cpp
?????文件?????????352??2017-06-14?09:38??ImageView\mainwindow.cpp
?????文件?????????404??2017-06-13?17:15??ImageView\mainwindow.h
?????文件?????????654??2017-06-05?17:11??ImageView\mainwindow.ui
評論
共有 條評論