コード例 #1
0
        private void AddToColorArray(byte val, int _idx)
        {
            int idx = _idx;

            idx = idx % 4;//(bmp.Format.BitsPerPixel / 8)
            switch (idx)
            {
            case 0:     //b
                if (!ColorPixelRanges.ContainsKey(val))
                {
                    ColorPixelRange pixRange = new ColorPixelRange(val);
                    pixRange.chBlue.Add(_idx);
                    ColorPixelRanges.Add(val, pixRange);
                }
                else
                {
                    ColorPixelRange pixRange;
                    ColorPixelRanges.TryGetValue(val, out pixRange);
                    pixRange.chBlue.Add(_idx);
                }
                break;

            case 1:     //g
                if (!ColorPixelRanges.ContainsKey(val))
                {
                    ColorPixelRange pixRange = new ColorPixelRange(val);
                    pixRange.chGreen.Add(_idx);
                    ColorPixelRanges.Add(val, pixRange);
                }
                else
                {
                    ColorPixelRange pixRange;
                    ColorPixelRanges.TryGetValue(val, out pixRange);
                    pixRange.chGreen.Add(_idx);
                }
                break;

            case 2:     //r
                if (!ColorPixelRanges.ContainsKey(val))
                {
                    ColorPixelRange pixRange = new ColorPixelRange(val);
                    pixRange.chRed.Add(_idx);
                    ColorPixelRanges.Add(val, pixRange);
                }
                else
                {
                    ColorPixelRange pixRange;
                    ColorPixelRanges.TryGetValue(val, out pixRange);
                    pixRange.chRed.Add(_idx);
                }
                break;

            case 3:     //a
                if (!ColorPixelRanges.ContainsKey(val))
                {
                    ColorPixelRange pixRange = new ColorPixelRange(val);
                    pixRange.chAlpha.Add(_idx);
                    ColorPixelRanges.Add(val, pixRange);
                }
                else
                {
                    ColorPixelRange pixRange;
                    ColorPixelRanges.TryGetValue(val, out pixRange);
                    pixRange.chAlpha.Add(_idx);
                }
                break;
            }
        }
コード例 #2
0
        private void AddToColorArray(byte val, int _idx)
        {
            int idx = _idx;
            idx = idx % 4;//(bmp.Format.BitsPerPixel / 8)
            switch (idx)
            {
                case 0: //b
                        if (!ColorPixelRanges.ContainsKey(val))
                        {
                            ColorPixelRange pixRange = new ColorPixelRange(val);
                            pixRange.chBlue.Add(_idx);
                            ColorPixelRanges.Add(val, pixRange);
                        }
                        else
                        {
                            ColorPixelRange pixRange;
                            ColorPixelRanges.TryGetValue(val, out pixRange);
                            pixRange.chBlue.Add(_idx);

                        }
                    break;
                case 1: //g
                        if (!ColorPixelRanges.ContainsKey(val))
                        {
                            ColorPixelRange pixRange = new ColorPixelRange(val);
                            pixRange.chGreen.Add(_idx);
                            ColorPixelRanges.Add(val, pixRange);
                        }
                        else
                        {
                            ColorPixelRange pixRange;
                            ColorPixelRanges.TryGetValue(val, out pixRange);
                            pixRange.chGreen.Add(_idx);

                        }
                    break;
                case 2: //r
                        if (!ColorPixelRanges.ContainsKey(val))
                        {
                            ColorPixelRange pixRange = new ColorPixelRange(val);
                            pixRange.chRed.Add(_idx);
                            ColorPixelRanges.Add(val, pixRange);
                        }
                        else
                        {
                            ColorPixelRange pixRange;
                            ColorPixelRanges.TryGetValue(val, out pixRange);
                            pixRange.chRed.Add(_idx);

                        }
                    break;
                case 3: //a
                        if (!ColorPixelRanges.ContainsKey(val))
                        {
                            ColorPixelRange pixRange = new ColorPixelRange(val);
                            pixRange.chAlpha.Add(_idx);
                            ColorPixelRanges.Add(val, pixRange);
                        }
                        else
                        {
                            ColorPixelRange pixRange;
                            ColorPixelRanges.TryGetValue(val, out pixRange);
                            pixRange.chAlpha.Add(_idx);

                        }
                    break;
            }
        }