Android P의 ImageDecoder를 터치해 보십시오.

8732 단어 Android
Android P PreviewImageDecoder를 사용할 수 있습니다.
  • Android Developers Blog: Previewing Android P
  • ImageDecoder | Android Developers
  • Android P gives you an easier way to decode images to bitmaps or drawables -- ImageDecoder, which deprecates BitmapFactory.

    이미지 표시

    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로 읽습니다.
  • android - Get URI from drawable image - Stack Overflow
  • 크기 조정

    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

    좋은 웹페이지 즐겨찾기