PictureBox 运行时图像

发布于 2024-10-20 06:00:50 字数 1339 浏览 6 评论 0原文

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

  1. 将图片框放在名为 picturebox1 的窗体上
  2. 将其大小调整为小矩形(例如 75,75)
  3. 将图片添加到比该矩形大的资源(名为 pic) (比如说 500,500)

现在我们准备好了 :D

在图片框中显示这张图片,同时显示整个图片而不仅仅是它的一部分:

  1. 添加图像列表和设置大小(这一点都不好)
  2. 我知道有两种方法可以在运行时 该图片框的 onPaint 是这样的:

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

假设我想填充 picturebox1 的 Image 属性,现在我必须编写如下内容:

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

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

  1. 图像编辑使用 C#
  2. 图像编辑同时保持宽高比

现在第二个问题:

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

To see the problems, please follow these steps (I am coding in C#):

  1. Put a picturebox on a form named picturebox1
  2. Resize it to small rectangle (say 75,75)
  3. Add a picture to resources (named say pic) larger than that rectangle (say 500,500)

Now we are ready :D

I know two ways to have this picture shown in the picturebox at runtime while showing the whole picture not only a part of it:

  1. Adding Imagelist and setting size (this is not good at all)
  2. Writing onPaint of that picturebox something like this:

e.Graphics.DrawImage(Properties.Resources.pic,
new Rectangle(0,0,75,75));

Lets assume that I want to fill the Image property of the picturebox1, now I must write something like this:

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

which does not resize the image retrieved. I want to know if there is a good way around this problem (to resize and assign easily)? BTW, I don't want to resize the picture using something like these

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

Now the second question:

I know resources are statically added in my example, but is there a way to get the name of the resource programmatically instead of hardcoding it as string and passing it to the "GetObject()" method?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

森林迷了鹿 2024-10-27 06:00:50

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

pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage

By default PictureBox doesn't size the image to fit with its display area. Try this:

pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文