Создание неправильного изображения с CGBitmapContext

У меня есть этот код

private static UIImage Copy(UIImage self) {
        var inImage = self.CGImage;
        var width = inImage.Width;
        var height = inImage.Height;
        var bits = inImage.BitsPerComponent;
        var bitsPerRow = inImage.BytesPerRow;
        var colorSpace = inImage.ColorSpace;
        var alphaInfo = inImage.AlphaInfo;

        using (var jpeg = UIImage.FromImage (inImage).AsJPEG ()) {
            var bytes = new Byte[jpeg.Length];
            System.Runtime.InteropServices.Marshal.Copy (jpeg.Bytes, bytes, 0, Convert.ToInt32 (jpeg.Length));

            using (CGBitmapContext ctx = new CGBitmapContext (bytes, width, height, bits, bitsPerRow, colorSpace, alphaInfo)) {
                return UIImage.FromImage (ctx.ToImage ());
            }
        }
    }

Я просто получаю байтовый массив из исходного изображения и создаю изображение, используя CGBitmapContext, но результат:

введите описание изображения здесь

введите описание изображения здесь

0 ответов

Другие вопросы по тегам