【问题标题】:PictureBox Runtime ImagePictureBox 运行时图像
【发布时间】:2011-07-06 08:34:56
【问题描述】:

要查看问题,请按照以下步骤操作(我使用 C# 编码):

  1. 在名为 picturebox1 的表单上放置一个图片框
  2. 将其调整为小矩形(例如 75,75)
  3. 将图片添加到大于该矩形(例如 500,500)的资源(例如图片)

现在我们准备好了:D

我知道有两种方法可以在运行时将这张图片显示在图片框中,同时显示整个图片而不仅仅是它的一部分:

  1. 添加 Imagelist 并设置大小(这一点都不好)
  2. 在该图片框的 onPaint 上写如下内容:

e.Graphics.DrawImage(Properties.Resources.pic, 新矩形(0,0,75,75));

假设我要填充picturebox1的Image属性,现在我必须这样写:

pictureBox1.Image = (Image)Properties.Resources.ResourceManager.GetObject("pic1");

它不会调整检索到的图像的大小。我想知道是否有解决此问题的好方法(轻松调整大小和分配)?顺便说一句,我不想​​用这些来调整图片的大小

  1. Image Editing Using C#
  2. Image Editing while maintaining aspect ratio

现在是第二个问题:

我知道资源是在我的示例中静态添加的,但是有没有办法以编程方式获取资源的名称,而不是将其硬编码为字符串并将其传递给“GetObject()”方法?

【问题讨论】:

  • 我忘了告诉您有一种方法可以通过 Properties.Resources.pic1 分配图像(但仍然是静态的)。我不想要它,因为它是静态的,并且没有给我资源的名称。

标签: .net runtime image-manipulation picturebox image-resizing


【解决方案1】:

默认情况下,PictureBox 不会调整图像大小以适应其显示区域。试试这个:

pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    • 2023-04-08
    • 2011-08-01
    • 2013-05-25
    • 2016-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多