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

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.

主站蜘蛛池模板: 宜兰市| 宁陵县| 德惠市| 怀远县| 姚安县| 肥城市| 香河县| 达孜县| 台中县| 旅游| 新丰县| 孙吴县| 五家渠市| 临颍县| 盐津县| 延安市| 越西县| 皮山县| 介休市| 颍上县| 辽源市| 洞头县| 荆州市| 洱源县| 剑阁县| 洪江市| 宁海县| 朝阳市| 获嘉县| 抚远县| 石河子市| 邹平县| 商城县| 漠河县| 恭城| 临夏市| 新龙县| 湛江市| 嵊州市| 宝鸡市| 靖西县|