Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用ImageMagick计算和识别矢量图像中的颜色_C#_Imagemagick_Magick.net - Fatal编程技术网

C# 使用ImageMagick计算和识别矢量图像中的颜色

C# 使用ImageMagick计算和识别矢量图像中的颜色,c#,imagemagick,magick.net,C#,Imagemagick,Magick.net,客户将图像文件(通常是徽标)上传到网站,我希望能够识别图像包含的颜色。 我有点放弃了位图图像,因为消除混叠引入了每种颜色的许多变化,但是对于矢量图像(eps、svg、ai,以及可能出现的一些),我想相信它应该是可行的 理想的解决方案将使我能够产生一个颜色列表,用户可以验证;“您的图像包含3种颜色:111c、222c和333c,这些颜色是您希望用于打印的颜色吗?” 我正在使用Magick.net和C#。我能够将文件读入“MagickImage”实例,但我不知道如何继续识别颜色。假设您从这个图像开始

客户将图像文件(通常是徽标)上传到网站,我希望能够识别图像包含的颜色。 我有点放弃了位图图像,因为消除混叠引入了每种颜色的许多变化,但是对于矢量图像(eps、svg、ai,以及可能出现的一些),我想相信它应该是可行的

理想的解决方案将使我能够产生一个颜色列表,用户可以验证;“您的图像包含3种颜色:111c、222c和333c,这些颜色是您希望用于打印的颜色吗?”


我正在使用Magick.net和C#。我能够将文件读入“MagickImage”实例,但我不知道如何继续识别颜色。

假设您从这个图像开始,它由随机颜色组成,然后减少到18种颜色:

convert -size 256x256 xc:black +noise random -colors 18 image.png

现在,您可以获得如下颜色列表:

convert image.png -unique-colors -depth 8 txt:
样本输出

# ImageMagick pixel enumeration: 18,1,65535,srgb
0,0: (7967,24415,7967)  #1F5F1F  srgb(31,95,31)
1,0: (24415,24672,8481)  #5F6021  srgb(95,96,33)
2,0: (16191,12336,16448)  #3F3040  srgb(63,48,64)
3,0: (8224,8224,24158)  #20205E  srgb(32,32,94)
4,0: (24672,24415,24415)  #605F5F  srgb(96,95,95)
5,0: (49344,16191,16448)  #C03F40  srgb(192,63,64)
6,0: (16448,46260,13878)  #40B436  srgb(64,180,54)
7,0: (8224,57311,24415)  #20DF5F  srgb(32,223,95)
8,0: (24415,57568,24415)  #5FE05F  srgb(95,224,95)
9,0: (49087,49344,16448)  #BFC040  srgb(191,192,64)
10,0: (13364,16448,46517)  #3440B5  srgb(52,64,181)
11,0: (24415,8224,57311)  #5F20DF  srgb(95,32,223)
12,0: (24415,24415,57054)  #5F5FDE  srgb(95,95,222)
13,0: (40863,24672,40863)  #9F609F  srgb(159,96,159)
14,0: (50372,15163,50115)  #C43BC3  srgb(196,59,195)
15,0: (16448,49087,49344)  #40BFC0  srgb(64,191,192)
16,0: (41120,40863,41120)  #A09FA0  srgb(160,159,160)
17,0: (50372,50372,50372)  #C4C4C4  grey77
也许你也想要一个样本:

convert image.png -unique-colors -scale 400x40 swatch.png

假设您从这张图像开始,它由随机颜色组成,然后减少到18种颜色:

convert -size 256x256 xc:black +noise random -colors 18 image.png

现在,您可以获得如下颜色列表:

convert image.png -unique-colors -depth 8 txt:
样本输出

# ImageMagick pixel enumeration: 18,1,65535,srgb
0,0: (7967,24415,7967)  #1F5F1F  srgb(31,95,31)
1,0: (24415,24672,8481)  #5F6021  srgb(95,96,33)
2,0: (16191,12336,16448)  #3F3040  srgb(63,48,64)
3,0: (8224,8224,24158)  #20205E  srgb(32,32,94)
4,0: (24672,24415,24415)  #605F5F  srgb(96,95,95)
5,0: (49344,16191,16448)  #C03F40  srgb(192,63,64)
6,0: (16448,46260,13878)  #40B436  srgb(64,180,54)
7,0: (8224,57311,24415)  #20DF5F  srgb(32,223,95)
8,0: (24415,57568,24415)  #5FE05F  srgb(95,224,95)
9,0: (49087,49344,16448)  #BFC040  srgb(191,192,64)
10,0: (13364,16448,46517)  #3440B5  srgb(52,64,181)
11,0: (24415,8224,57311)  #5F20DF  srgb(95,32,223)
12,0: (24415,24415,57054)  #5F5FDE  srgb(95,95,222)
13,0: (40863,24672,40863)  #9F609F  srgb(159,96,159)
14,0: (50372,15163,50115)  #C43BC3  srgb(196,59,195)
15,0: (16448,49087,49344)  #40BFC0  srgb(64,191,192)
16,0: (41120,40863,41120)  #A09FA0  srgb(160,159,160)
17,0: (50372,50372,50372)  #C4C4C4  grey77
也许你也想要一个样本:

convert image.png -unique-colors -scale 400x40 swatch.png

非常感谢,我一定会用这种方法处理位图图像。但对于矢量图像,我希望有一种方法可以获得颜色,而无需光栅化/缩小。理想情况下,通过给定的名称获得颜色,如PMS颜色名称,如果创建文件时使用了该名称。很酷,我希望它可能有用,即使它不是100%符合您的要求。非常感谢您,我将明确尝试位图图像的此方法。但对于矢量图像,我希望有一种方法可以获得颜色,而无需光栅化/缩小。理想情况下,可以通过指定的名称获得颜色,例如PMS颜色名称(如果创建文件时使用的名称)。很酷,我希望它可能有用,即使它不是您要求的100%。