Tag: rgb

条件格式 – 百分比到颜色转换

将百分比转换为从绿色(100%)到红色(0%)的颜色的最简单方法是什么,黄色为50%? 我使用的是普通的32位RGB – 因此每个组件都是0到255之间的整数。我在C#中这样做,但我想这样的问题语言并不重要。 基于Marius和Andy的答案,我使用以下解决方案: double red = (percent 50) ? 255 : percent * 5.12; var color = Color.FromArgb(255, (byte)red, (byte)green, 0); 完美的工作 – 只有我必须从Marius解决方案做的调整是使用256,因为(255 – (百分比 – 50)* 5.12产生-1,当100%时,由于某种原因在Silverlight中导致黄色(-1,255,0) ) – >黄…

如何在C#中从byte 创建bmp文件

我在TCP Client中收到一个byte []数组。该数组包含一个24位RGB位图文件。如何创建具有给定宽度,高度和数据的位图文件? 在C ++中我使用它 int WriteBitmapFile(const char *filename, int width, int height, unsigned char *imageData) { FILE *filePtr; // file pointer BITMAPFILEHEADER bitmapFileHeader; // bitmap file header BITMAPINFOHEADER bitmapInfoHeader; // bitmap info header DWORD imageIdx; // used for swapping RGB->BGR unsigned char tempRGB; // used for swapping // open file for writing binary mode […]

RGB到HSL和返回,计算问题

我正在尝试将RGB转换为HSL,我也想将HSL转换为RGB,我已经为它编写了一个类但是如果我做RGB-> HSL-> RGB来尝试它是否有效我会得到一个不同的值。 示例案例:如果通过执行HSLColor MyTestConversion = HSLColor.FromRGB(Colors.Green);创建HSLColor对象HSLColor MyTestConversion = HSLColor.FromRGB(Colors.Green); 然后做Color ExpectedGreenHere = MyTestConversion.ToRGB()你得到一个不同于Colors.Green颜色,而它是原始输入所以出错了.. 这是我正在使用的代码: public class HSLColor { public float Hue; public float Saturation; public float Luminosity; public HSLColor(float H, float S, float L) { Hue = H; Saturation = S; Luminosity = L; } public static HSLColor FromRGB(Color Clr) { return FromRGB(Clr.R, Clr.G, […]

在C#中从图像中获取RGB数组

我正在编写一个用Java编写的小程序的C#实现。 我在我的Java应用程序中使用了BufferedImage.getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)函数。 但我无法在C#中找到这个版本,我不确定如何手动编写。

在RGB和HSB颜色值之间切换的算法

我阅读了文章算法切换RGB和HSB颜色值 Type RGBColor Red As Byte Green As Byte Blue As Byte End Type Type HSBColor Hue As Double Saturation As Double Brightness As Double End Type Function RGBToHSB(rgb As RGBColor) As HSBColor Dim minRGB, maxRGB, Delta As Double Dim h, s, b As Double h = 0 minRGB = Min(Min(rgb.Red, rgb.Green), rgb.Blue) maxRGB = […]

C#使用ICC配置文件将RGB值转换为CMYK?

这个问题似乎发布在很多地方的interwebs和SO,但我找不到一个满意的答案:( 如何使用ICC配置文件将RGB值转换为CMYK值? 我有最接近的答案,它解释了如何从CMYK转换为RGB而不是相反,这是我需要的。 (http://stackoverflow.com/questions/4920482/cmyk-to-rgb-formula-of-photoshop/5076731#5076731) float[] colorValues = new float[4]; colorValues[0] = c / 255f; colorValues[1] = m / 255f; colorValues[2] = y / 255f; colorValues[3] = k / 255f; System.Windows.Media.Color color = Color.FromValues(colorValues, new Uri(@”C:\Users\me\Documents\ISOcoated_v2_300_eci.icc”)); System.Drawing.Color rgbColor = System.Drawing.Color.FromArgb(color.R, color.G, color.B); 我想我应该使用System.Windows.Media命名空间中的一些类/结构/方法。 System.Windows.Media.Color结构包含一个方法FromRgb,但是我无法在System.Windows.Media.Color中获取CMYK值! 非常感谢

如何将图像像素的值作为RGB读入2d数组?

我正在为我的方形平台平台游戏制作一个二维地图编辑器,当我意识到我真的可以使用一个图像编辑器,它具有重绘相邻像素的能力等等,所以我想我应该尝试通过应用程序读取绘制的水平然后将其转换为轻量级格式。 我不确定是否使用位图格式是必须的,但我想,读取特定像素比使用PNG更容易。 所以我的目标是打开一个图像,遍历每个像素,寻找适合我的图块方案的颜色,并将相应的图块放入块数组中。 注意:我已经有了轻量级格式,所以我只需要将像素值读入数组。 解决方案:我的草图如下所示: Bitmap myBitmap = new Bitmap(@”input.png”); for (int x = 0; x < myBitmap.Width; x++) { for (int y = 0; y < myBitmap.Height; y++) { Color pixelColor = myBitmap.GetPixel(x, y); // things we do with pixelColor } } 例2: Bitmap myBitmap = new Bitmap(@”input.png”); for (int x = 0; x […]

比较c#中的RGB颜色

我正试图找到一种比较两种颜色的方法,以找出它们的相似之处。 我似乎无法找到有关该主题的任何资源,所以我希望在这里得到一些指示。 理想情况下,我想得到一个分数,告诉他们有多相似。 例如,0到100,其中100将相等,0将完全不同。 谢谢! 编辑: 从答案中了解更多关于颜色的知识我理解我的问题有点模糊。 我会尝试解释我需要的东西。 我有800×600大小的应用程序窗口的pixeldata(位置和颜色),所以我可以通过检查每个x间隔来查明某个窗口是否打开。 但是,一旦调整应用程序的大小(内容被缩放,而不是移动),此方法就会失败。 我可以计算出像素移动的位置,但由于四舍五入和防眩化,颜色可能略有不同。 在这种情况下,彼得的解决方案对我来说已经足够了,尽管其他所有回复都非常有用,所以我只是向所有人投了赞成票。 我确实认为ColorEye的答案是从专业方式看这个问题时最准确的,所以我将其标记为答案。

如何计算位图的平均rgb颜色值

在我的C#(3.5)应用程序中,我需要获取位图的红色,绿色和蓝色通道的平均颜色值。 最好不使用外部库。 可以这样做吗? 如果是这样,怎么样? 提前致谢。 尝试使事情更精确:位图中的每个像素都有一定的RGB颜色值。 我想获得图像中所有像素的平均RGB值。