在C#中将颜色放在图像上

时间:2009-09-26 20:01:38

标签: c# winforms image drawing colors

我已经使用这段代码将图像放入变量中。我想做的是在各个地方画点,然后保存结果。

我所做的是打开一个对话框来选择文件并检查它是否有效,我把它放在一个图片框中。使用winforms offcourse。使用Visual Studio 2008 Professional。

编辑:您在下面看到的openImg变量是我给我正在使用的openFileDialog实例的名称。

private string CurrentFile;
private Image img;

private void fileToolStripMenuItem_Click(object sender, EventArgs e)
{
    openImg.Title = "Open Image File";
    openImg.Filter = "JPEG Files|*.jpg" +
                     "|Enhanced Windows MetaFile|*.emf" +
                     "|Exchangeable Image File|*.exif" +
                     "|Gif Files|*.gif|Icons|*.ico" +
                     "|PNG Files|*.png|TIFF Files|*.tif|Windows MetaFile|*.wmf";
    openImg.DefaultExt = "jpg";
    openImg.FilterIndex = 1;
    openImg.FileName = "";
    openImg.ShowDialog();
    if (openImg.FileName == "")
    {
        return;
    }
    CurrentFile = openImg.FileName.ToString();
    img = Image.FromFile(openImg.FileName);
    pictureBox1.Image = img;
}

到目前为止一切顺利。

完成第一阶段后,我想定义一个Color对象,我可以用它在以后的某些位置绘制。

我以前从未与他们合作过。

Color yellow = new Color();

我意识到将它命名为“黄色”不会使其变黄,但我没有选择颜色的选项...... Visual Studio甚至没有在自动完成中显示变量。我有点难过。我想做的是在图像上定义某个区域以绘制某种颜色。

4 个答案:

答案 0 :(得分:10)

您无法按照问题的方式构建新颜色。对于不同的颜色,Color上有很多静态properties,还有一些定义自己颜色的方法(例如,参见FromArgb)。

要获得黄色,您需要使用Color.Yellow


要在图片上绘图,您希望使用Graphics.FromImage(img)获取Graphics的实例,使用该实例可以直接在图像上绘制。看看methods of Graphics如何绘制线条,曲线,形状等......

答案 1 :(得分:1)

使用:

Color yellow = Color.Yellow;

答案 2 :(得分:1)

如果输入:

Color yellow = Color.

...只要输入“。”,就会看到一个Intellisense弹出窗口,其中列出了Color类可用的属性和方法。

有时类可以使用“新”语法进行实例化,有时它们不能(如Color)。在任何给定的情况下,我都无法告诉你为什么,但是只要编译器告诉你“新”语法不起作用,就养成检查静态实例创建方法的习惯。

答案 3 :(得分:0)

颜色黄色=颜色。黄色或黄色= Color.FromArgb(0,255,255)