Android Dev Study

HeifWriter 테스트

Daejeong Kim 2019. 2. 20. 01:29

build.gradle에 추가

implementation 'com.android.support:heifwriter:28.0.0'


AndroidManifest.xml에 추가

<uses-sdk tools:overrideLibrary="android.support.heifwriter" />


돌아는가는데 제대로 구현한 건지 모르겠음. HeifWriter는 샘플을 찾을래도 찾을 수가 없다. 

/**
* implementation 'com.android.support:heifwriter:28.0.0'
* in AndroidManifest.xml
* <uses-sdk tools:overrideLibrary="android.support.heifwriter" />
*/
@TargetApi(VERSION_CODES.P)
object HeifHelper {

@WorkerThread
fun saveToHeif(bitmap: Bitmap, path: String, quality: Int, timeoutMs: Long = 10000): Boolean {
return try {
val writer = HeifWriter
.Builder(path, bitmap.width, bitmap.height, HeifWriter.INPUT_MODE_BITMAP)
.setQuality(quality)
.build()
writer.start()
writer.addBitmap(bitmap)
writer.stop(timeoutMs)
writer.close()
true
} catch (ex: Exception) {
DebugUtils.notReached(ex, "HeifHelper")
false
}
}

@WorkerThread
fun decodeBitmap(file: File): Bitmap? {
return try {
ImageDecoder.decodeBitmap(ImageDecoder.createSource(file))
} catch (ex: IOException) {
null
}
}

}