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

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.

主站蜘蛛池模板: 尼玛县| 洛南县| 德惠市| 平原县| 密山市| 鄂伦春自治旗| 清水县| 康马县| 石棉县| 耒阳市| 石首市| 武乡县| 黄陵县| 佛山市| 广丰县| 虹口区| 井研县| 奉贤区| 景德镇市| 石河子市| 龙州县| 淮滨县| 定安县| 个旧市| 浙江省| 和静县| 辽中县| 开原市| 遂溪县| 峨眉山市| 来安县| 个旧市| 双桥区| 定边县| 南皮县| 海门市| 邹城市| 金寨县| 清流县| 剑阁县| 襄樊市|