繁体   English   中英

如何在C#中以编程方式放大和缩小图像?

[英]How can I zoom in and zoom out an image programmatically in C#?

我希望能够缩放(-/ +)放置在面板下方的图像。 我希望图像的缩放版本显示在该面板中。 如何在C#中实现呢?

简而言之,当我在C#中以编程方式单击图像时,如何放大和缩小图像?

如果您使用GDI +,那么可以肯定地通过使用Matrix转换类来做到这一点,如下所示:

// Get hold of your graphics context...
using(Graphics g = this.CreateGraphics())
{
    // When drawing we want to apply a scaling of 2,2 (making it bigger!)
    Matrix m = new Matrix();
    m.Scale(2, 2, MatrixOrder.Append);
    g.Transform = m;

    // Draw the actual image using the assigned matrix transform
    g.DrawImage(...);        
}

当您要放大或缩小时,您只是在更改使用的缩放值。

为此,您需要使用GDI +绘图功能(在.NET Framework中作为Graphics类的方法公开)。 本质上,您将在显示面板中重新绘制基本图像的缩放版本。

使用Graphics.DrawImage东西,您要做的就是指定基本图像,源矩形(要放大的基本图像部分)和目标矩形(新的缩放图像的尺寸)。

这里有一个可用的教程,您可能会发现值得您花时间检查一下(源代码下载链接在页面底部): http : //www.vcskicks.com/image-zoom.php

如果这只是使您对C#中的图形产生了浓厚的兴趣,请查看本文 ,以更全面地介绍其与图形相关的功能。

免责声明:我为Atalasoft工作

我们的DotImage Photo SDK是免费的,并具有WinForms控件,该控件具有此功能和许多其他功能(平移,自动缩放,放大镜等)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM