旋转的位图每次旋转都会失去质量

时间:2018-08-12 22:10:46

标签: android image kotlin rotation

我正在使用以下功能旋转我的位图。我注意到,如果我多次旋转此位图,则每次旋转都会失去质量,直到变成纯色图像为止。我尝试使用PNG而不是JPEG,但是尺寸急剧增加。有什么解决方案可以旋转图像而不损失质量和增加尺寸吗?

 fun rotatedImage(path:String):Bitmap{
        val bitmap = BitmapFactory.decodeFile(path)
        val mat = Matrix()
        if (rotateDegree==270f) rotateDegree = 0f
        mat.postRotate(rotateDegree+90)
        val bMapRotate=Bitmap.createBitmap(bitmap, 0,0,bitmap.getWidth(),bitmap.getHeight(), mat, true)
        deleteImageFile(path)
        val fileStream = FileOutputStream(path)
        // Tried with PNG as well = Size increases
        bMapRotate.compress(Bitmap.CompressFormat.JPEG, 100, fileStream)
        return bMapRotate
    }

0 个答案:

没有答案