[问][C#]如何将png嵌入并读取成Texture2D?

时间:2021-09-06 11:31:52
首:新人请指教.
软件类型:游戏
语言:C#,XNA
一个已成型的软件,用的是读取外置XNB文件用Texture2D显示,
但我想嵌入PNG并以Texture2D显示,
搜了不少关键词,就是没搜到或者不会用...

7 个解决方案

#1


......这问题有什么问题呢?太基础?太困难?太奇葩?

#2


...上面没说完不小心发出去了...没权限编辑?

#3


...用QQ习惯了组合键回车...
不小心又发出去了...
续#1楼,怎么都没人给个回复呢?
是好是坏总给个回答吧...

#4


你的问题是说,你有一张PNG的图,希望在XNA中将它加载成Texture2D类型是吗?

#5


你看这段代码行不行,我是这么做的,XNA3.1下能够跑的通:

MemoryStream _ms = new MemoryStream();
【你的png图片】.Save(_ms, System.Drawing.Imaging.ImageFormat.Png);
_ms.Seek(0, SeekOrigin.Begin);
【你的Texture2D对象】 = Texture2D.FromFile(xnaPnlDisplay.Graphics.GraphicsDevice, _ms);
_ms.Close();

#6


添加resx文件,把png加进去
然后

public static Texture2D GetEmbeddedTexture(string name)
{
Stream manifestResourceStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Terraria." + name);
if (manifestResourceStream != null)
return Texture2D.FromStream(UIView.graphics, manifestResourceStream);
return (Texture2D) null;
}

就好了呢...

#7


嗯...第三行后面的字符串自己改啦, 从现在正在用的代码里面复制的...所以有些别的东西

#1


......这问题有什么问题呢?太基础?太困难?太奇葩?

#2


...上面没说完不小心发出去了...没权限编辑?

#3


...用QQ习惯了组合键回车...
不小心又发出去了...
续#1楼,怎么都没人给个回复呢?
是好是坏总给个回答吧...

#4


你的问题是说,你有一张PNG的图,希望在XNA中将它加载成Texture2D类型是吗?

#5


你看这段代码行不行,我是这么做的,XNA3.1下能够跑的通:

MemoryStream _ms = new MemoryStream();
【你的png图片】.Save(_ms, System.Drawing.Imaging.ImageFormat.Png);
_ms.Seek(0, SeekOrigin.Begin);
【你的Texture2D对象】 = Texture2D.FromFile(xnaPnlDisplay.Graphics.GraphicsDevice, _ms);
_ms.Close();

#6


添加resx文件,把png加进去
然后

public static Texture2D GetEmbeddedTexture(string name)
{
Stream manifestResourceStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Terraria." + name);
if (manifestResourceStream != null)
return Texture2D.FromStream(UIView.graphics, manifestResourceStream);
return (Texture2D) null;
}

就好了呢...

#7


嗯...第三行后面的字符串自己改啦, 从现在正在用的代码里面复制的...所以有些别的东西