Ejemplo n.º 1
0
        private TestReadOnlySequence Append(byte[] value, int start, int length)
        {
            var next = new TestReadOnlySequence(value, start, length)
            {
                RunningIndex = RunningIndex + Memory.Length,
            };

            Next = next;

            return(next);
        }
Ejemplo n.º 2
0
                public void ShouldSupportMultipleSegments()
                {
                    using (var image = new MagickImage())
                    {
                        var bytes = File.ReadAllBytes(Files.SnakewarePNG);
                        var sequence = TestReadOnlySequence.Create(bytes, 5);

                        image.Read(sequence);

                        Assert.Equal(286, image.Width);
                        Assert.Equal(67, image.Height);
                    }
                }
Ejemplo n.º 3
0
        public static ReadOnlySequence <byte> Create(byte[] data, int sequenceSize)
        {
            var first  = new TestReadOnlySequence(data, 0, sequenceSize);
            var length = sequenceSize;
            var last   = first.Append(data, sequenceSize, length);

            for (var i = sequenceSize + sequenceSize; i < data.Length; i += sequenceSize)
            {
                length = Math.Min(data.Length - i, sequenceSize);
                last   = last.Append(data, i, length);
            }

            return(new ReadOnlySequence <byte>(first, 0, last, length));
        }
Ejemplo n.º 4
0
                public void ShouldSupportMultipleSegments()
                {
                    using (var image = new MagickImage())
                    {
                        var bytes    = File.ReadAllBytes(Files.SnakewarePNG);
                        var sequence = TestReadOnlySequence.Create(bytes, 5);

                        image.Ping(sequence);

                        Assert.Equal(286, image.Width);
                        Assert.Equal(67, image.Height);
                        Assert.Throws <InvalidOperationException>(() => image.GetPixelsUnsafe());
                    }
                }