System.Windows.Forms.ImageListStreamer.GetDecodedStream C# (CSharp) Method

GetDecodedStream() static private method

static private GetDecodedStream ( byte bytes, int offset, int size ) : MemoryStream
bytes byte
offset int
size int
return System.IO.MemoryStream
		static MemoryStream GetDecodedStream (byte [] bytes, int offset, int size)
		{
			byte [] buffer = new byte [512];
			int position = 0;
			int count, data;
			MemoryStream result = new MemoryStream ();
			while (size > 0) {
				count = (int) bytes [offset++];
				data = (int) bytes [offset++];
				if ((512 - count) < position) {
					result.Write (buffer, 0, position);
					position = 0;
				}

				for (int i = 0; i < count; i++)
					buffer [position++] = (byte) data;
				size -= 2;
			}

			if (position > 0)
				result.Write (buffer, 0, position);

			result.Position = 0;
			return result;
		}