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的縮圖。
相關文章
- Qt獲取一張圖片的平均色(主色調)QT
- 基於 NSData 的圖片壓縮
- 獲取網路圖片的大小
- VS+Qt+Halcon——顯示圖片,實現滑鼠縮放、移動圖片QT
- iOS 獲取視訊圖片iOS
- 獲取本地圖片/視訊地圖
- 【API】隨機獲取圖片API隨機
- jquery獲取圖片的真實大小jQuery
- JavaScript獲取圖片的真實大小JavaScript
- JavaScript獲取背景圖片定位值JavaScript
- 微信小程式開發-canves 圖片壓縮 獲取base64微信小程式
- 前端的圖片壓縮image-compressor(可在圖片上傳前實現圖片壓縮)前端
- Windows設定圖片縮圖Windows
- 匯入圖片
- 開源圖片工具箱(Img Toolbox) 格式轉換 新增水印 圖片壓縮 圖片裁剪 圖片旋轉 圖片縮放
- 使用ColorfulImg獲取圖片主題色!
- 前端圖片壓縮 - H5&Uni-App圖片壓縮前端H5APP
- vue+axios+express圖片上傳並利用js-xlxs外掛將圖片連結匯出到excel裡VueiOSExpressJSExcel
- Unity從圖片的位元組資料裡面獲取圖片的寬和高Unity
- Python基於opencv呼叫攝像頭獲取個人圖片PythonOpenCV
- ??圖片壓縮CanvasCanvas
- canvas 壓縮圖片Canvas
- 圖片壓縮20201109
- 上傳圖片 以及做成縮圖
- vue 上傳圖片進行壓縮圖片Vue
- 【前端】壓縮圖片以及圖片相關概念前端
- Excel 讀取圖片並獲取儲存路徑Excel
- 為啥從SurfaceView中獲取不到圖片?View
- Chrome 獲取網頁顏色(文字、圖片)Chrome網頁
- flowable 獲取當前任務流程圖片的輸入流流程圖
- activiti 獲取當前任務流程圖片的輸入流流程圖
- 微信小程式根據本地快取圖片路徑,生成縮圖的方法微信小程式快取
- .Net 圖片縮圖上傳通用方法
- SwiftUI圖片處理(縮放、拼圖)SwiftUI
- 怎麼轉換圖片格式並壓縮圖片
- 圖片壓縮怎樣操作?分享幾種實用的批次圖片壓縮技巧
- iOS 圖片壓縮方法iOS
- 前端圖片壓縮方案前端
- Photoshop壓縮png圖片