【发布时间】:2011-07-06 08:34:56
【问题描述】:
要查看问题,请按照以下步骤操作(我使用 C# 编码):
- 在名为 picturebox1 的表单上放置一个图片框
- 将其调整为小矩形(例如 75,75)
- 将图片添加到大于该矩形(例如 500,500)的资源(例如图片)
现在我们准备好了:D
我知道有两种方法可以在运行时将这张图片显示在图片框中,同时显示整个图片而不仅仅是它的一部分:
- 添加 Imagelist 并设置大小(这一点都不好)
- 在该图片框的 onPaint 上写如下内容:
e.Graphics.DrawImage(Properties.Resources.pic, 新矩形(0,0,75,75));
假设我要填充picturebox1的Image属性,现在我必须这样写:
pictureBox1.Image = (Image)Properties.Resources.ResourceManager.GetObject("pic1");
它不会调整检索到的图像的大小。我想知道是否有解决此问题的好方法(轻松调整大小和分配)?顺便说一句,我不想用这些来调整图片的大小
现在是第二个问题:
我知道资源是在我的示例中静态添加的,但是有没有办法以编程方式获取资源的名称,而不是将其硬编码为字符串并将其传递给“GetObject()”方法?
【问题讨论】:
-
我忘了告诉您有一种方法可以通过 Properties.Resources.pic1 分配图像(但仍然是静态的)。我不想要它,因为它是静态的,并且没有给我资源的名称。
标签: .net runtime image-manipulation picturebox image-resizing