gpt4 book ai didi

c# - 直接在程序中打开图像

转载 作者:太空狗 更新时间:2023-10-30 00:41:47 24 4
gpt4 key购买 nike

我按照教程在 C# windows 中制作了一个基本的图片查看器程序。该程序运行良好,但我想像默认的 Windows 照片查看器一样打开它。我尝试直接用程序打开图像,但打开程序后图像框是空的。

当在程序内浏览图像打开时,图像框工作正常,但如何使其在外部工作?

额外:有没有办法让它全屏显示?

抱歉英语不好。

P.S:在提供帮助时请考虑我的菜鸟。谢谢:)

namespace Basic_Picture_Viewer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void showButton_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
pictureBox1.Load(openFileDialog1.FileName);
}
}

private void clearButton_Click(object sender, EventArgs e)
{
pictureBox1.Image = null;
}

private void backgroundButton_Click(object sender, EventArgs e)
{
if (colorDialog1.ShowDialog() == DialogResult.OK)
{
pictureBox1.BackColor = colorDialog1.Color;
}
}

private void closeButton_Click(object sender, EventArgs e)
{
ActiveForm.Close();
}

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
else
pictureBox1.SizeMode = PictureBoxSizeMode.Normal;
}

private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
{

}

private void Form1_Load(object sender, EventArgs e)
{

}

private void rotateButton_Click(object sender, EventArgs e)
{
if (pictureBox1.Image != null)
{
Image img = pictureBox1.Image;
img.RotateFlip(RotateFlipType.Rotate90FlipNone);
pictureBox1.Image = img;
}

}
}

最佳答案

好的,那么在你的 Program.cs 文件中,根据上面评论中的链接实现命令行参数,并将其传递给表单。

    [STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

if(args.Length > 0)
Application.Run(new Form1(args[0]));
else
Application.Run(new Form1());
}

然后在您的表单中,将构造函数更改为

public Form1(String fileName = null)
{
InitializeComponent();

if (fileName != null)
{
// Add validation to ensure file exists here
this.WindowState = FormWindowState.Maximized;
pictureBox1.Load(fileName);
}
}

在尝试打开文件之前,您可能需要一个 try/catch block 或其他东西来检查文件是否存在。在您描述的用例下,我会将丢失的文件视为异常(exception)情况,所以这对我来说似乎是一个计划。

关于c# - 直接在程序中打开图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18554362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com