Qt基礎——獲取QGraphicsScene的縮圖即匯出到圖片
是應用了他的render函式,render的作用是:
Renders the source rect from scene into target, using painter. This function is useful for capturing the contents of the scene onto a paint device, such as a QImage (e.g., to take a screenshot), or for printing with QPrinter. For
If source is a null rect, this function will use sceneRect() to determine what to render. If target is a null rect, the dimensions of painter's paint device will be used.
The source rect contents will be transformed according to aspectRatioMode to fit into the target rect. By default, the aspect ratio is kept, and source is scaled to fit in target.
程式碼如下:
//get thumbnail
QImage image(130 * mSceneSize.width()/ mSceneSize.height(),130 ,QImage::Format_ARGB32);
QString pngName = currentPageID+"_scene.png";
QPainter painter(&image);
painter.setRenderHint(QPainter::Antialiasing);
scene->render(&painter);
bool saveSuccess = image.save(pngName);
Q_ASSERT(saveSuccess == true);
有兩個注意事項:
- 如果你把QImage image(130 * mSceneSize.width()/ mSceneSize.height(),130 ,QImage::Format_ARGB32); 寫成QImage image。無論如何image都是無法save成功的。因為image沒有初始化。
- 如果你的scene裡有的item/widget的座標位於目前可顯示的外面,意思是你的scene現在大小是100*100,但是有一個item的座標位於100*101,那麼呼叫scene->render時會有ASSERT錯誤:
你當然可以忽略掉他,在release模式下是沒有此類問題的。---------------------------Microsoft Visual C++ Debug Library---------------------------Debug Error!Program: ...\Win32\Debug\Maker.exeModule: 5.0.1File: global\qglobal.cppLine: 1951ASSERT: "!item->d_ptr->itemDiscovered" in file graphicsview\qgraphicsscenebsptreeindex.cpp, line 343(Press Retry to debug the application)---------------------------Abort Retry Ignore---------------------------
當然了你用QGraphicsView的render方法也可以獲得view的縮圖。
相關文章
- asp 獲取圖片的 大小 和畫素 ,解析度,以及壓縮圖片
- 獲取app 圖片APP
- 獲取網路圖片的大小
- javascript如何獲取圖片的高度JavaScript
- 獲取SDWebImage下載的圖片Web
- 獲取本地圖片/視訊地圖
- iOS 獲取視訊圖片iOS
- 【API】隨機獲取圖片API隨機
- VS+Qt+Halcon——顯示圖片,實現滑鼠縮放、移動圖片QT
- jquery獲取圖片的真實大小jQuery
- JavaScript獲取圖片的真實大小JavaScript
- javascript如何獲取img圖片的尺寸JavaScript
- 微信小程式開發-canves 圖片壓縮 獲取base64微信小程式
- JavaScript獲取背景圖片定位值JavaScript
- Java——獲取圖片尺寸和大小Java
- 用JavaScript獲取原始圖片尺寸JavaScript
- js如何獲取圖片的長寬尺寸JS
- js如何獲取圖片的真實尺寸JS
- 獲取遠端圖片的Blob資源
- 為何我的程式獲取不了圖片?
- Windows設定圖片縮圖Windows
- Android基礎第九天易忘部分(載入大圖片和縮放圖片)Android
- 匯入圖片
- 前端的圖片壓縮image-compressor(可在圖片上傳前實現圖片壓縮)前端
- 利用圖形介面從SQL匯入匯出到MySQLMySql
- 前端圖片壓縮 - H5&Uni-App圖片壓縮前端H5APP
- 使用ColorfulImg獲取圖片主題色!
- 獲取SD卡上所有的圖片SD卡
- 【freemaker實現匯出word③】詳解將echarts的圖片到出到wordEcharts
- 開源圖片工具箱(Img Toolbox) 格式轉換 新增水印 圖片壓縮 圖片裁剪 圖片旋轉 圖片縮放
- Python基於opencv呼叫攝像頭獲取個人圖片PythonOpenCV
- ??圖片壓縮CanvasCanvas
- IOS圖片壓縮iOS
- canvas 壓縮圖片Canvas
- Unity從圖片的位元組資料裡面獲取圖片的寬和高Unity
- 獲取本地圖片或拍照,進行頭像圖片的上傳的工具類地圖
- javascript如何獲取指定元素內的所有圖片JavaScript
- iOS開發中壓縮圖片的質量以及縮小圖片尺寸iOS