BitMiracle.LibJpeg.SampleRow.WriteToList C# (CSharp) Method

WriteToList() public method

public WriteToList ( System outputBytes ) : void
outputBytes System
return void
        public void WriteToList(System.Collections.Generic.List<byte> outputBytes)
        {
            //write bytes of this row to output bytes 
            for (int i = 0; i < columnCount; ++i)
            {
                switch (componentsPerSample)
                {
                    case 1:
                        {
                            outputBytes.Add((byte)lineBuffer[i]);
                        }
                        break;
                    case 2:
                        {
                            //2 byte per sample?                        
                            throw new NotSupportedException(); //?
                        }
                    case 3:
                        {
                            int pos = i * 3;
                            outputBytes.Add((byte)lineBuffer[pos]);
                            outputBytes.Add((byte)lineBuffer[pos + 1]);
                            outputBytes.Add((byte)lineBuffer[pos + 2]);
                        }
                        break;
                    case 4:
                        {
                            //should not occurs?
                            throw new NotSupportedException(); //?
                        }
                    default:
                        throw new NotSupportedException();
                }
            }
        }

Usage Example

コード例 #1
0
        public byte[] GetPixelRow()
        {
            SampleRow   row    = _samples[m_currentRow];
            List <byte> result = new List <byte>();

            for (int i = 0; i < row.Length; ++i)
            {
                //Sample sample = row[i];
                row.WriteToList(result);

                //for (int j = 0; j < sample.ComponentCount; ++j)
                //    result.Add((byte)sample[j]);
            }
            ++m_currentRow;
            return(result.ToArray());
        }