作者THKLuga (东大废柴协会会长)
看板C_Sharp
标题Re: [问题]WIN32应用程式如何让PICTUREBOX载入资源 …
时间Wed May 21 18:05:10 2008
※ 引述《hamsters (hamster)》之铭言:
: 假设专案预设命名空间叫 A,ImageFile.jpg 放在专案的 B 资料夹中,编译後这个影像
: 资源名称会是 A.B.ImageFile.jpg,当然前提是该影像已经设定为内嵌资源。
: 影像放在 .resx 档的话 Visual Studio 预设会帮你产生一个名称相同的类别 (例如资源
: 档是 Resources.resx,Visual Studio 会自动产生一个名称为 Resource 的静态类别,
: 不过要使用 Visual Sudio 建立这个资源档才行),而该类别中会有一个属性供你读取影
: 像 (拿刚刚的 Resouece 当范例,Resource.ImageFile 属性就会传回这张影像)。
真的是十分感谢您,在下成功将内嵌档案载入图片盒了
不过使用.resx的时候出了点问题
Assembly assemb
Stream _imageStream;
assembly1 = Assembly.GetExecutingAssembly();
_imageStream =
assembly1.GetManifestResourceStream("Test.Resources.ImageFile.jpg");
上面那行程式码把我放在Resources资料夹里面的档案成功放入_imageStream
this.pictureBox1.Image = Image.FromStream(_imageStream);
以上程式码放在Button1.click事件里
下面程式码出现之前的问题,没办法放入Stream
Assembly assembly2;
Stream _imageStream1;
assembly2 = Assembly.GetExecutingAssembly();
_imageStream1 =
assembly2.GetManifestResourceStream("Test.RES.mm.jpg");
this.pictureBox1.Image = Image.FromStream(_imageStream1);
我是在一个名称为RES的资源档(.resx)中放入一个名称为mm.jpg的影像
出现了Image.FromStream(_imageStream1)参数为NULL的问题
是否我在GetManifestResourceStream里面的参数放置错误了呢?
我试过里面用RES.mm.jpg以及Test.mm.jpg都抓不到档案
标头档
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Drawing.Imaging;
using System.Reflection;
using System.Resources;
谢谢大大的解答了~"~||
是在哪里出错了呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.118.235.116
1F:推 hamsters:你找找专案中应该有一个 RES 类别 05/22 10:42
2F:→ hamsters:this.pictureBox1.Image = RES.mm; 05/22 10:42