Mercurial > cgi-bin > hgweb.cgi > SimpleResizer
view app/src/main/java/com/bartsent/simpleresizer/lib/getScaledInstance.kt @ 34:19c584b29679
Add gradle files, bump rev to bypass installer cache misfeature.
author | David Barts <n5jrn@me.com> |
---|---|
date | Thu, 11 Mar 2021 17:31:56 -0800 |
parents | 86740f593b6c |
children | 6607f675a5f7 |
line wrap: on
line source
package com.bartsent.simpleresizer.lib import android.graphics.Bitmap /** * A quality scaler, rather simpler than Image.getScaledInstance in that it * currently has only one (slow, high-quality) option. * @param newWidth Width of new bitmap * @param newHeight Height of new bitmap * @return New bitmap */ fun Bitmap.getScaledInstance(newWidth: Int, newHeight: Int, kernel: ScalingKernel = LanczosKernel()): Bitmap { if (newWidth <= 0) throw IllegalArgumentException("invalid width: $newWidth") if (newHeight <= 0) throw IllegalArgumentException("invalid height: $newHeight") if (width == newWidth && height == newHeight) return this return if (width != newWidth) { Resizer.fromBitmap(this).horizontal(newWidth, kernel).let { if (height == newHeight) it else it.vertical(newHeight, kernel) } } else { Resizer.fromBitmap(this).vertical(newHeight, kernel) } .toBitmap() }