从颜色代码创建图像

时间:2014-08-24 10:18:20

标签: c# image

我正在试图弄清楚如何使用提供的颜色代码或提供的颜色生成图像。我不知道从哪里开始。有人能指出我正确的方向吗?

假设我有一个黄色的颜色代码,我需要创建一个尺寸的图像:

        16*16
        24*24

等等

3 个答案:

答案 0 :(得分:2)

您可以使用图形位图

Bitmap bmp = new Bitmap(16, 16);
using (Graphics graphics = Graphics.FromImage(bmp))
{
    using (SolidBrush brush = new SolidBrush(Color.Yellow))
    {
        graphics.FillRectangle(brush, 0, 0, bmp.Width, bmp.Height);
    }
}
this.BackgroundImage = bmp;

答案 1 :(得分:2)

Bitmap b = new Bitmap(16, 16);
using (Graphics g = Graphics.FromImage(b))
    g.Clear(Color.Yellow);

Bitmap对象现在可用于任何您想要的目的。如果您想将其指定为PictureBox,则可以使用PictureBox.Image = b;。如果要将此映像保存到磁盘,可以使用b.Save()函数并将其传递给文件路径。

如果您有颜色代码,则可以使用ColorTranslator类从中创建Color对象。它支持HTML,OLE和Win32颜色编码方案。例如,您可以使用ColorTranslator.FromHtml("#286ECA")返回等效颜色的Color对象。

答案 2 :(得分:1)

创建具有指定背景颜色的图像可以这样做:

可能的解决方案可能如下所示:

var bitmap = new Bitmap(16, 16);
using (var g = Graphics.FromImage(bitmap))
{
    g.FillRectangle(Brushes.Yellow, new Rectangle(0, 0, bitmap.Width, bitmap.Height));
}
bitmap.Save("d:\\yellow.jpg");
// or use the bitmap for further operations

如果要根据RGB值设置颜色,则可以使用Color.FromArgb method

var bitmap = new Bitmap(16, 16);
using (var g = Graphics.FromImage(bitmap))
{
    using (var brush = new SolidBrush(Color.FromArgb(255, 255, 0)))
    {
        g.FillRectangle(brush, new Rectangle(0, 0, bitmap.Width, bitmap.Height));
    }
}
bitmap.Save("d:\\yellow.jpg");
// or use the bitmap for further operations

正如@dotNet所指出的,您可以使用ColorTranslator.FromHtml method来解析指定的颜色:

var bitmap = new Bitmap(16, 16);
using (var g = Graphics.FromImage(bitmap))
{
    var colorCode = "#286ECA";
    var color = ColorTranslator.FromHtml(colorCode);
    using (var brush = new SolidBrush(color))
    {
        g.FillRectangle(brush, new Rectangle(0, 0, bitmap.Width, bitmap.Height));
    }
}
bitmap.Save("d:\\colors.jpg");
// or use the bitmap for further operations