我正在尝试创建一个示例程序,但是我在创建它所需的Bitmap时遇到了问题。当我尝试运行下面的代码时,我收到了ArgumentException。
我认为这是因为它无法在磁盘上找到该文件而被抛出。如果是这种情况,我将文件放在我的项目中,以便它可以找到它?我已经尝试将该文件放在主项目目录中,并尝试将其放在调试和发布文件夹中。
如果这不是造成问题的原因,有人可以指出我正确的方向吗?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Drawing;
namespace Given
{
public class Photo : Form
{
Image image;
public Photo()
{
image = new Bitmap("jug.jpg"); // ArgumentException thrown here
this.Text = "Lemonade";
this.Paint += new PaintEventHandler(Drawer);
}
public virtual void Drawer(Object source, PaintEventArgs e)
{
e.Graphics.DrawImage(image, 30, 20);
}
}
}
namespace Photo_Decorator
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Given.Photo());
}
}
}
答案 0 :(得分:1)
它抛出这个因为它无法找到JPG,因此无法创建正确的位图对象。您需要将图像文件放在与EXE(Debug?Release?)相同的文件夹中,或者指定图像的完整路径(例如C:/jug.jpg)。希望这会有所帮助:)
答案 1 :(得分:0)
您需要将文件放在与可执行文件相同的文件夹中(bin \ Debug或bin \ Release)。您可以将它放在bin
文件夹中,只需使用@“.. \ jug.jpg”作为路径,这样它就可以在调试和发布模式下工作。