如何在 C# WinForms 中不更改图像或 PictureBox 大小的情况下放大和缩小 PictureBox?

How to Zoom In and Out on a PictureBox Without Changing Image or PictureBox Size in C# WinForms?

提问人:tomato bar 提问时间:11/12/2023 最后编辑:wenbingeng-MSFTtomato bar 更新时间:11/15/2023 访问量:62

问:

我正在开发一个 C# WinForms 应用程序,其中我有一个显示图像的 PictureBox。我想实现一个缩放功能,在该功能中,我可以放大和缩小显示的图像,而无需更改 PictureBox 或基础图像的大小。我尝试调整 PictureBox.Size 和 SizeMode 属性,但它没有给我带来想要的结果。

我希望图像保持其原始分辨率,并且 PictureBox 保持相同的大小,但我需要更改 PictureBox 中的显示大小。如何在 C# 中实现这一点?

我应该添加我的代码吗?

提前感谢您的帮助!

C# .NET 可视化工作室 WinForms

评论

0赞 nbk 11/12/2023
尝试第一个链接 un 这个答案 stackoverflow.com/a/18270259/5193536
1赞 Jimi 11/12/2023
从鼠标位置缩放并平移图像

答:

0赞 tomato bar 11/12/2023 #1

谢谢你们所有人,但我找到了自己的答案。

我只需要使用此代码来更改图像大小...

using (Graphics gfx = Graphics.FromImage(pictureBox1.Image))
{
    gfx.ScaleTransform(piczoom, piczoom);
}

在保存时,将 piczoom 值恢复为 1。