Как нарисовать сжатое изображение на холсте без его декодирования? - PullRequest
1 голос
/ 01 апреля 2020

У меня есть изображение JPEG на устройстве, которое я хочу нарисовать на холсте, чтобы создать простой PDF (только изображение), используя ( PdfDocument ).

Единственный способ, которым API-интерфейс Canvas предлагает нарисовать изображение, дать ему растровое изображение, декодировать мой JPEG-файл в Birmap и получить всю его дату, при этом размер изображения значительно увеличится. (Будет выглядеть так)

val imageStream = contentResolver.openInputStream(it)
val selectedImage = BitmapFactory.decodeStream(imageStream, null, options)!!
pdfDocPage.canvas.drawBitmap(scaledImage, 0f, 0f, Paint())

Поскольку единственный способ использовать PdfDocument - это Canvas, есть ли способ нарисовать изображение на Canvas без его декодирования, чтобы PDF-файл не заканчивался быть в 10 раз больше, чем размер изображения в формате JPEG?

...