如何限制文本框c#中的某些值

时间:2016-03-05 14:15:18

标签: c# textbox rgb aforge

我的代码中存在问题。我创建了以RGB格式显示值的应用程序。我的意思是在文本框中不显示有关白色的信息(即R:255 G:255 B:255)。这是我负责显示的代码片段。我做错了什么?

void pixinfo ( int build , string tex )
        {
            pic = (Bitmap)pictureBox1.Image.Clone();
  
            var data = pic.LockBits(
    new Rectangle(System.Drawing.Point.Empty, pic.Size),
    ImageLockMode.ReadWrite, pic.PixelFormat);

            var pixelSize = data.PixelFormat == PixelFormat.DontCare? 4 : 3; 
            var padding = data.Stride - (data.Width * pixelSize);
            var bytes = new byte[data.Height * data.Stride];

            
            
            Marshal.Copy(data.Scan0, bytes, 0, bytes.Length);

            var index = 0;
            var builder = new StringBuilder();

            for (var y = 0; y < data.Height; y++)
            {
                for (var x = 0; x < data.Width; x++)
                {
                   // if (pixelSize == 255 )
                       
                  //  if(bytes[index +2] !=255 && bytes[index +1] != 255 && bytes[index] !=255 )
                  //  {
                        Color pixelColor = Color.FromArgb(
                            pixelSize == 3 ? 255 : 
                            bytes[index + 3], // Alfa 
                            bytes[index + 2], // R 
                            bytes[index + 1], // G 
                            bytes[index]      // B 
                            );
                        // if (pixelColor.R = 255 && pixelColor.G = 255 && pixelColor.B = 255)

                        builder
                        .Append("\nR: \n")
                        .Append(pixelColor.R)
                        .Append(" \nG: \n")
                        .Append(pixelColor.G)
                        .Append(" \nB: \n")
                        .Append(pixelColor.B)
                        .AppendLine(" \n \n");

                        index += pixelSize;



                  //  }


                    index += padding;

                    Application.DoEvents();

                }
                
            }
文本框中的显示位于

Marshal.Copy(bytes, 0, data.Scan0, bytes.Length);
                    tex = builder.ToString();
                    build = Convert.ToInt32(tex);

                    if (build != 255 )
                    {
                        textBox1.Text = build.ToString();  
                    }
                       

我程序中的文本框如下所示: MyProgram 我不想看到255 255 255值。

0 个答案:

没有答案