Android P의 ImageDecoder를 터치해 보십시오.
8732 단어 Android
ImageDecoder
를 사용할 수 있습니다.이미지 표시 val uri = Uri.parse("android.resource://${packageName}/drawable/image")
val source = ImageDecoder.createSource(contentResolver, uri)
val bitmap = ImageDecoder.decodeBitmap(source)
imageView.setImageBitmap(bitmap)
drawable
를 URI로 읽습니다.
val uri = Uri.parse("android.resource://${packageName}/drawable/image")
val source = ImageDecoder.createSource(contentResolver, uri)
val bitmap = ImageDecoder.decodeBitmap(source)
imageView.setImageBitmap(bitmap)
크기 조정 val uri = Uri.parse("android.resource://${packageName}/drawable/image")
val source = ImageDecoder.createSource(contentResolver, uri)
val bitmap = ImageDecoder.decodeBitmap(source, { decoder, info, source ->
decoder.setResize(300, 300)
})
imageView.setImageBitmap(bitmap)
decode...
에서 호출을 지정하면decorder에서 크기 조정 등을 할 수 있습니다.
가공 val uri = Uri.parse("android.resource://${packageName}/drawable/image")
val source = ImageDecoder.createSource(contentResolver, uri)
val bitmap = ImageDecoder.decodeBitmap(source, { decoder, info, source ->
decoder.setResize(300, 300)
decoder.setPostProcessor { canvas ->
val path = Path()
path.fillType = Path.FillType.INVERSE_EVEN_ODD
path.addCircle((canvas.width/2).toFloat(), (canvas.height/2).toFloat(), (canvas.width/2).toFloat(), Path.Direction.CW)
val paint = Paint()
paint.isAntiAlias = true
paint.color = Color.TRANSPARENT
paint.xfermode = PorterDuffXfermode(PorterDuff.Mode.SRC)
canvas.drawPath(path, paint)
return@setPostProcessor PixelFormat.TRANSLUCENT
}
})
imageView.setImageBitmap(bitmap)
읽은 이미지setPostProcessor
를 가공할 수 있습니다.
이렇게 둥근 커팅 등.
사용한 이미지
Charlesjsharp/Cassius blue (Leptotes cassius theonus), Cuba/CC BY-SA 4.0
File:Cassius blue (Leptotes cassius theonus) underside.JPG - Wikimedia Commons
Reference
이 문제에 관하여(Android P의 ImageDecoder를 터치해 보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tkt989/items/0e6642a375958378741c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
val uri = Uri.parse("android.resource://${packageName}/drawable/image")
val source = ImageDecoder.createSource(contentResolver, uri)
val bitmap = ImageDecoder.decodeBitmap(source, { decoder, info, source ->
decoder.setResize(300, 300)
})
imageView.setImageBitmap(bitmap)
val uri = Uri.parse("android.resource://${packageName}/drawable/image")
val source = ImageDecoder.createSource(contentResolver, uri)
val bitmap = ImageDecoder.decodeBitmap(source, { decoder, info, source ->
decoder.setResize(300, 300)
decoder.setPostProcessor { canvas ->
val path = Path()
path.fillType = Path.FillType.INVERSE_EVEN_ODD
path.addCircle((canvas.width/2).toFloat(), (canvas.height/2).toFloat(), (canvas.width/2).toFloat(), Path.Direction.CW)
val paint = Paint()
paint.isAntiAlias = true
paint.color = Color.TRANSPARENT
paint.xfermode = PorterDuffXfermode(PorterDuff.Mode.SRC)
canvas.drawPath(path, paint)
return@setPostProcessor PixelFormat.TRANSLUCENT
}
})
imageView.setImageBitmap(bitmap)
읽은 이미지setPostProcessor
를 가공할 수 있습니다.이렇게 둥근 커팅 등.
사용한 이미지
Charlesjsharp/Cassius blue (Leptotes cassius theonus), Cuba/CC BY-SA 4.0
File:Cassius blue (Leptotes cassius theonus) underside.JPG - Wikimedia Commons
Reference
이 문제에 관하여(Android P의 ImageDecoder를 터치해 보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tkt989/items/0e6642a375958378741c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)