将图像加载到内存中进行操作

马丁顿

成员
已加入
2014年7月8日
留言内容
14
编程经验
Beginner
嘿,C#的新手,我会尝试自学。现在,我正在尝试将图像加载到内存中,而我在Google上获得的只是:

C#:
Image myimg = Image.FromFile("image location");

沿着它们,显然必须将其定义为Image对象,然后将数据加载到其中,但是Visual Studio表示第一个单词需要参数。

伙计们,请帮我一下吗?

代码:
C#:
Public Class Form1


    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Image myimg = Image.FromFile("C:\Users\Martyn Ball\Desktop\10502092_657871814300163_3690168410002388536_n.jpg");
    End Sub
End Class

错误:
C#:
Error	1	'Image' is a type and cannot be used as an expression.	c:\users\martyn ball\documents\visual studio 2013\Projects\JamSnaps\JamSnaps\Form1.vb	4	9	JamSnaps

Error	2	Method arguments must be enclosed in parentheses.	c:\users\martyn ball\documents\visual studio 2013\Projects\JamSnaps\JamSnaps\Form1.vb	4	15	JamSnaps

Error	3	'myimg' is not declared. It may be inaccessible due to its protection level.	c:\users\martyn ball\documents\visual studio 2013\Projects\JamSnaps\JamSnaps\Form1.vb	4	15	JamSnaps
Error	4	Character is not valid.	c:\users\martyn ball\documents\visual studio 2013\Projects\JamSnaps\JamSnaps\Form1.vb	4	120	JamSnaps
 
Last edited:

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,563
地点
悉尼,澳大利亚
编程经验
10+
Visual Studio说第一个单词需要参数。
不,不是。请提供实际的错误消息,而不是模糊的解释,因为细节很重要。我可以看到的唯一的问题是Image类型,您还没有导入它所属的名称空间。 MSDN文档为每种类型都有一个主题,它将告诉您轮胎在哪个程序集中声明以及它所属的命名空间。
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,563
地点
悉尼,澳大利亚
编程经验
10+
这是一个C#论坛,用于有关C#编程的问题。这:
Image myimg = Image.FromFile("C:\Users\Martyn Ball\Desktop\10502092_657871814300163_3690168410002388536_n.jpg");
是C#代码(几乎无论如何)。这:
C#:
Public Class Form1


    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

    End Sub
End Class
是VB代码。您正在尝试使用VB或C#进行编码吗?
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,563
地点
悉尼,澳大利亚
编程经验
10+
尝试使用C#进行编码,似乎选择了错误的项目来启动!

我认为可以肯定地说,实际上是您选择了错误的项目,而不是IT。  :) 您使用的是哪个版本的VS?值得注意的是,在2010年或更早版本中,VB Express和C#Express是分开的,但是从2012年开始,用于Windows桌面的VS Express同时支持VB和C#。

我不是说这个:
Image myimg = Image.FromFile("C:\Users\Martyn Ball\Desktop\10502092_657871814300163_3690168410002388536_n.jpg");
几乎是C#代码,因为在C#中,反斜杠是转义字符。因此,您必须逃脱它:
Image myimg = Image.FromFile("C:\\Users\\Martyn Ball\\Desktop\\10502092_657871814300163_3690168410002388536_n.jpg");
或者,最好在路径的情况下,使用逐字字符串文字:
Image myimg = Image.FromFile(@"C:\Users\Martyn Ball\Desktop\10502092_657871814300163_3690168410002388536_n.jpg");
@表示所有反斜杠均视为文字字符,而不是转义字符。
 

马丁顿

成员
已加入
2014年7月8日
留言内容
14
编程经验
Beginner
我认为可以肯定地说,实际上是您选择了错误的项目,而不是IT。  :) 您使用的是哪个版本的VS?值得注意的是,在2010年或更早版本中,VB Express和C#Express是分开的,但是从2012年开始,用于Windows桌面的VS Express同时支持VB和C#。

我不是说这个:
Image myimg = Image.FromFile("C:\Users\Martyn Ball\Desktop\10502092_657871814300163_3690168410002388536_n.jpg");
几乎是C#代码,因为在C#中,反斜杠是转义字符。因此,您必须逃脱它:
Image myimg = Image.FromFile("C:\\Users\\Martyn Ball\\Desktop\\10502092_657871814300163_3690168410002388536_n.jpg");
或者,最好在路径的情况下,使用逐字字符串文字:
Image myimg = Image.FromFile(@"C:\Users\Martyn Ball\Desktop\10502092_657871814300163_3690168410002388536_n.jpg");
@表示所有反斜杠均视为文字字符,而不是转义字符。

我不好,我是说"I"开始了错误的项目,谢谢!  :)
 
最佳 底部