我正在试图弄清楚如何使用提供的颜色代码或提供的颜色生成图像。我不知道从哪里开始。有人能指出我正确的方向吗?
假设我有一个黄色的颜色代码,我需要创建一个尺寸的图像:
16*16
24*24
等等
答案 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