public static int EncodedRow(Stream stream, byte[] imgData, int startIdx, int columns) { var position = stream.Position; var rlePacketStateMachine = new RlePacketStateMachine(stream); for (var i = 0; i < columns; i++) { rlePacketStateMachine.Push(imgData[i + startIdx]); } rlePacketStateMachine.Flush(); return((int)(stream.Position - position)); }
//////////////////////////////////////////////////////////////////////// public static int EncodedRow(Stream stream, byte[] imgData, int startIdx, int columns) { long startPosition = stream.Position; RlePacketStateMachine machine = new RlePacketStateMachine(stream); for (int x = 0; x < columns; ++x) { machine.Push(imgData[x + startIdx]); } machine.Flush(); return((int)(stream.Position - startPosition)); }
//////////////////////////////////////////////////////////////////////// public static int EncodedRow(Stream stream, byte[] imgData, int startIdx, int columns) { long startPosition = stream.Position; var machine = new RlePacketStateMachine(stream); for (int x = 0; x < columns; ++x) machine.Push(imgData[x + startIdx]); machine.Flush(); return (int) (stream.Position - startPosition); }