官术网_书友最值得收藏!

Zooming in and out

OK. We have successfully displayed the image. Now, let's scale it. Here, we take zooming in as an example. With the experience from the preceding actions, we should have a clear idea as to how to do that. First, we declare a private slot, which is named zoomIn, and give its implementation as shown in the following code:

     void MainWindow::zoomIn()
{
imageView->scale(1.2, 1.2);
}

Easy, right? Just call the scale method of imageView with a scale rate for the width and a scale rate for the height. Then, we connect the triggered signal of zoomInAction to this slot in the createActions method of the MainWindow class:

     connect(zoomInAction, SIGNAL(triggered(bool)), this, SLOT(zoomIn()));

Compile and run the application, open an image with it, and click on the Zoom in button on the toolbar. You will find that the image enlarges to 120% of its current size on each click.

Zooming out just entails scaling the imageView with a rate of less than 1.0. Please try to implement it by yourself. If you find it difficult, you can refer to our code repository on GitHub (https://github.com/PacktPublishing/Qt-5-and-OpenCV-4-Computer-Vision-Projects/tree/master/Chapter-01).

With our application, we can now open an image and scale it for viewing. Next, we will implement the function of the saveAsAction action.

主站蜘蛛池模板: 瑞丽市| 湟源县| 石首市| 古浪县| 遂昌县| 托克托县| 当雄县| 温宿县| 恩平市| 南靖县| 遂宁市| 舟山市| 古丈县| 牙克石市| 潞西市| 汤阴县| 原平市| 滦南县| 泰和县| 宣恩县| 报价| 北碚区| 柳州市| 南安市| 突泉县| 富宁县| 金湖县| 梁河县| 景宁| 遵化市| 三门峡市| 平安县| 新泰市| 老河口市| 双鸭山市| 育儿| 锦屏县| 旌德县| 奉化市| 莫力| 樟树市|