在 Visual Studio 2008 (C#) 中将外部图像分配给 Picturebox?

发布于 2024-09-25 23:50:46 字数 261 浏览 1 评论 0原文

如何将外部图像分配到 Visual Studio 2008 中的 PictureBox 中?
通常,当我们在 PictureBox 中使用 ChooseImage 时,Visual Studio 会将图像添加到 exe 文件中,这会导致 exe 文件的体积增加,我想从 exe 文件旁边的目录添加图像。
在 Visual Studio 2008 中可以吗?

附: 我不想用C#代码添加图像,因为VS2008在开发时不显示它。

How can I assign an external image into the PictureBox in Visual Studio 2008 ?
Typically, When we use ChooseImage in PictureBox , Visual Studio adds the image to the exe file and it causes increasing exe file's volume, I wanna add the image from a directory beside the exe file.
Is it possible in Visual Studio 2008?

P.S:
I don't want add the image with C# code, because VS2008 doesn't show it in developing time.

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

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

发布评论

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

评论(4

墨小沫ゞ 2024-10-02 23:50:46

我认为您可以使用 Image.FromFile 方法在 C# 代码中执行此操作。只要 C# 代码处于窗体/控件的初始化中,它就应该在设计时和运行时运行。

I think you can do this in C# code using the Image.FromFile method. As long as the C# code is in the initialization of the form / control, it should run at both design time and run time.

幸福丶如此 2024-10-02 23:50:46

您可以使用链接资源。

当您添加链接资源时,
存储您的项目的 .resx 文件
资源信息仅包括
资源文件的相对路径
磁盘。如果您添加图像、视频或
链接的其他复杂文件
资源,您可以使用
与您关联的默认编辑器
资源中的文件类型
设计师。当您添加嵌入的
资源,数据直接存储
在项目的资源 (.resx) 中
文件。字符串只能存储为
嵌入式资源。嵌入式资源。

MSDN 上的链接资源与嵌入式资源

PS 然而,我仍然不明白为什么你需要它 - 即使 .exe 没有变大,整个应用程序包也会有更大的尺寸,不是吗?

最好的,

You can use Linked resources.

When you add a linked resource, the
.resx file that stores your project
resource information includes only a
relative path to the resource file on
disk. If you add images, videos, or
other complex files as linked
resources, you can edit them using a
default editor that you associate with
that file type in the Resource
Designer. When you add an embedded
resource, the data is stored directly
in the project's resource (.resx)
file. Strings can only be stored as
embedded resources.embedded resources.

MSDN on Linked vs. Embedded Resources

P.S. I however still don't get why would you need it—even if .exe doesn't get bigger, the whole app package would have a bigger size, wouldn't it?

Best,
Dan

我要还你自由 2024-10-02 23:50:46

如果这是 WinForms,最好只设置 PictureBox 的 ImageLocation 到图像的路径。由设计师执行此操作,以便在设计时显示它。

If this is WinForms, it's better to just set the ImageLocation of the PictureBox to the path to your image. Do this from the designer to have it show at design time.

合久必婚 2024-10-02 23:50:46

<罢工>
您可以从资源获取图像,

pictureBox1.Image = Properties.Resources.[image name];

请参阅如何通过以下方式嵌入和访问资源使用 Visual C#

误读了 OP 要求在不使用资源的情况下加载的问题。

你需要做

Image.FromFile("c:\\image.bmp")

如果图像是 JPEG 那么你可以将其转换为位图

Bitmap myJpeg=(Bitmap) Image.FromFile (“myJpegPath”);

或,

System.Drawing.Image loadImg = System.Drawing.Image.FromFile("c:\\image.JPG");
loadImg.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);


You can get images from Resources

pictureBox1.Image = Properties.Resources.[image name];

see How to embed and access resources by using Visual C#

Misread the question OP asked to load without using the Resources.

you will need to do

Image.FromFile("c:\\image.bmp")

If image if a JPEG then You can cast it to Bitmap

Bitmap myJpeg=(Bitmap) Image.FromFile("myJpegPath");

OR,

System.Drawing.Image loadImg = System.Drawing.Image.FromFile("c:\\image.JPG");
loadImg.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文