我在这里按照教程了解如何在EXE中包含文件.虽然我成功地编译了PNG图像,但在使用它时,我没有成功.
MyResources.rc
LOGO_PNG RCDATA Resources\Logo.png
Run Code Online (Sandbox Code Playgroud)
MyConsoleUnit.pas
const
RES_LOGO_PNG = 'LOGO_PNG';
implementation
{$R *.dfm}
{$R 'MyResources.res' 'MyResources.rc'}
Run Code Online (Sandbox Code Playgroud)
现在,这对我来说有点混乱.我必须处理所有流,没有文件.我已将此PNG图像嵌入此Logo.png资源,以便在/Logo.png从Web服务器请求时作为内容(作为流)传回.我还遵循了一个非常基本的教程:
procedure TMyWebConsole.MyWebConsoleLogoAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
RS: TResourceStream;
begin
RS := TResourceStream.Create(HInstance, RES_LOGO_PNG, RT_RCDATA);
try
Response.ContentType:= 'image/png';
RS.SaveToStream(Response.ContentStream);
finally
RS.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
问题是,当调用此函数时(at SaveToStream),我得到访问冲突.客户端上的Web浏览器接收与"PNG文件"的内容相同的错误消息.

那为什么要这样做呢?我究竟做错了什么?
是否可以将 html 作为资源嵌入并使用 C# 中的外部浏览器启动它?我不想只为项目中的这个 html 使用 webbrowser 控件。这是一个简单的帮助文件,如果可能的话,我想嵌入一个资源,这样我就可以有一个单独的EXE来处理。
谢谢
我正在尝试在用户按下按钮时添加通知警报
private void button1_Click(object sender, EventArgs e)
{
SoundPlayer simpleSound = new SoundPlayer(@"C:\Users\.........\ambbrdg7.wav");
simpleSound.Play();
}
Run Code Online (Sandbox Code Playgroud)
我想将ambbrdg7.wav添加到我的exe文件中,以确保我的程序始终可以访问此文件
我正在尝试访问我的Java代码中的一些图像.调用图像的代码如下.
public final ImageIcon whitePiece = new ImageIcon(getClass().getResource("Images/whitecircle.PNG"));
public final ImageIcon blackPiece = new ImageIcon(getClass().getResource("Images/blackcircle.png"));
public final ImageIcon tiePiece = new ImageIcon(getClass().getResource("Images/tiecircle.PNG"));
public final ImageIcon boardPic = new ImageIcon(getClass().getResource("Images/gameboard.PNG"));
Run Code Online (Sandbox Code Playgroud)
但是,这会返回以下错误:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at jared.othello.GameInterface.<init>(GameInterface.java:26)
at jared.othello.Main.main(Main.java:22)
Run Code Online (Sandbox Code Playgroud)
第26行是上述代码的第一行.我几乎肯定我的文件目录命名有问题,但我无法弄清楚什么是错的或如何解决它.我在项目中创建了一个名为"Images"的源文件,并将图像放在文件夹中,如下所示:

我做错了什么,以及正确的文件名语法是什么?谢谢!
我有大量问题打包我的java程序,其中包含图像到jar转换为可执行文件.图像已用于程序和按钮的背景中.请参阅下图,其中显示了我希望转换为jar的程序.

如您所见,程序运行正常.我创建了相同的程序,没有自定义背景和自定义按钮,不包含图像,我成功将其打包到一个jar中,然后打包成.exe文件.
关于绘制我的背景,我这样做如下:
public void paintComponent(Graphics g) {
Image img = new ImageIcon("imgs/Bgnd1.jpg").getImage();
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
g.drawImage(img, 0, 0, null);
}
Run Code Online (Sandbox Code Playgroud)
关于使用图像创建我的4个自定义按钮,我正在执行以下操作:
// Prepare rollover images
ImageIcon F1 = new ImageIcon("imgs/btn_f1_not_selected.jpg");
ImageIcon F1rollOver = new ImageIcon("imgs/btn_f1_selected.jpg");
// Create F1 button
final JButton btnF1 = new JButton(F1);
//btnF1.setOpaque(false);
btnF1.setContentAreaFilled(false);
btnF1.setBorder(null);
btnF1.setBorderPainted(false);
btnF1.setFocusPainted(false);
btnF1.setRolloverIcon(F1rollOver);
Run Code Online (Sandbox Code Playgroud)
我尝试将图像放在bin文件夹中,并且为了创建背景,我改变了上述关于图像的声明/获取的方法.
public void paintComponent(Graphics g) {
String path = "Bgnd11.jpg";
java.net.URL imgURL = getClass().getResource(path);
Image img = new ImageIcon(imgURL).getImage(); …Run Code Online (Sandbox Code Playgroud) public Image images[] = new Image[20];
for(i=0; i<10; i++){
images[i]=new Image(getClass().getResource("/images/"+i+".jpg"));
}
Run Code Online (Sandbox Code Playgroud)
我试图将图像添加到数组,但它给出错误无法实例化类型图像j
可能是什么原因?
我正在用Java编程Java.
我最近尝试在我的程序中播放声音文件.我这样做了:
URL url = this.getClass().getResource("ih.wav");
audioIn = AudioSystem.getAudioInputStream(url);
clip = AudioSystem.getClip();
clip.open(audioIn);
clip.start();
Run Code Online (Sandbox Code Playgroud)
这只有用,当我试图将ih.wav放在bin文件夹中时,好像bin文件夹是我项目的"基本文件夹".将文件放在项目的主文件夹中,不起作用.将它放在src文件夹中,也不起作用.
有人可以向我解释将我的资源用于Java程序的位置吗?另外,如果我将资源导入Eclipse中,这有关系吗?谢谢
编辑:
试图在主项目文件夹中创建一个资源文件夹,仍然给我一个NullPointerException:
URL url1 = this.getClass().getResource("res/ah.wav");
audioIn = AudioSystem.getAudioInputStream(url1);
clip1 = AudioSystem.getClip();
clip1.open(audioIn);
URL url2 = this.getClass().getResource("res/eh.wav");
audioIn = AudioSystem.getAudioInputStream(url2);
clip2 = AudioSystem.getClip();
clip2.open(audioIn);
URL url3 = this.getClass().getResource("res/ih.wav");
audioIn = AudioSystem.getAudioInputStream(url3);
clip3 = AudioSystem.getClip();
clip3.open(audioIn);
clip1.start();
clip2.start();
clip3.start();
Run Code Online (Sandbox Code Playgroud) 是否可以在C#程序集中嵌入二进制数据(作为资源或其他方法),然后在运行时从程序集中读取二进制数据并将其写为文件.
我正在制作DRM应用程序,目的是数据必须作为嵌入式资源或受密码保护的ZIP文件隐藏在程序集中.因此,我将尝试嵌入资源,如果不可能,那么将寻找具有密码保护的ZIP/UN-ZIP库以保存DRM数据.
我正在用C#编写一个程序,其中应该有二进制数据,它在编译期间在程序集中添加,就像图像一样,在编译时在程序集中添加图标,然后当用户执行程序集时,二进制数据是读取并保存为外部文件.
可能吗?那怎么办呢?
我是Android编码的绝对初学者.在Messages Gradle Build中,我收到错误:
资源ID不能是空字符串(作为'id',值为'@ + id /').
突出显示的字符串是:
android:id="@+id/">
Run Code Online (Sandbox Code Playgroud)
但是,该字符串似乎是由Android Studio自动创建的.我错过了什么?
我是一名新程序员,刚刚开始使用Eclipse.以前,我使用JGRASP,当我想要一个按钮添加图像时,我所做的就是Image在类的文件夹中创建一个文件夹并写入:
setIcon(newImageIcon(this.getClass().getResource("/Images/name.png")));
我用Eclipse尝试了同样的事情,但是我收到了一个main:NullPointerException错误.
我已经阅读了另一篇文章并source folder在我的项目中添加了一个名为Images但没有改变的项 以下是我遇到问题的代码段:
resetButton.setIcon(newImageIcon(this.getClass().getResource("/Images/helpIcon.png")));