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

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.

主站蜘蛛池模板: 阿城市| 肥城市| 涟水县| 淮滨县| 青冈县| 井陉县| 安吉县| 彭州市| 胶南市| 马龙县| 罗源县| 苍梧县| 蓬安县| 新巴尔虎左旗| 渑池县| 绍兴县| 东阿县| 安西县| 泸溪县| 江山市| 屏东县| 盐津县| 革吉县| 商城县| 桦甸市| 深圳市| 日喀则市| 景洪市| 革吉县| 合阳县| 临沧市| 南充市| 大足县| 吉首市| 渑池县| 信宜市| 福州市| 北票市| 六枝特区| 北碚区| 沭阳县|