Utilize bitmap KTX extensions
This commit is contained in:
parent
1c85dd0e32
commit
549aba88df
4 changed files with 20 additions and 20 deletions
|
@ -16,13 +16,14 @@ package code.name.monkey.retromusic.appshortcuts
|
|||
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.Canvas
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.graphics.drawable.Icon
|
||||
import android.graphics.drawable.LayerDrawable
|
||||
import android.os.Build
|
||||
import android.util.TypedValue
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.core.graphics.applyCanvas
|
||||
import androidx.core.graphics.createBitmap
|
||||
import code.name.monkey.appthemehelper.ThemeStore
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
|
@ -79,12 +80,9 @@ object AppShortcutIconGenerator {
|
|||
}
|
||||
|
||||
private fun drawableToBitmap(drawable: Drawable): Bitmap {
|
||||
val bitmap = Bitmap.createBitmap(
|
||||
drawable.intrinsicWidth, drawable.intrinsicHeight, Bitmap.Config.ARGB_8888
|
||||
)
|
||||
val canvas = Canvas(bitmap)
|
||||
drawable.setBounds(0, 0, canvas.width, canvas.height)
|
||||
drawable.draw(canvas)
|
||||
return bitmap
|
||||
return createBitmap(drawable.intrinsicWidth, drawable.intrinsicHeight).applyCanvas {
|
||||
drawable.setBounds(0, 0, width, height)
|
||||
drawable.draw(this)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,8 @@ import android.graphics.drawable.BitmapDrawable
|
|||
import android.graphics.drawable.Drawable
|
||||
import android.widget.RemoteViews
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.graphics.applyCanvas
|
||||
import androidx.core.graphics.createBitmap
|
||||
import code.name.monkey.appthemehelper.util.VersionUtils
|
||||
import code.name.monkey.retromusic.App
|
||||
import code.name.monkey.retromusic.R
|
||||
|
@ -170,15 +172,13 @@ abstract class BaseAppWidget : AppWidgetProvider() {
|
|||
}
|
||||
|
||||
fun createBitmap(drawable: Drawable, sizeMultiplier: Float): Bitmap {
|
||||
val bitmap = Bitmap.createBitmap(
|
||||
return createBitmap(
|
||||
(drawable.intrinsicWidth * sizeMultiplier).toInt(),
|
||||
(drawable.intrinsicHeight * sizeMultiplier).toInt(),
|
||||
Bitmap.Config.ARGB_8888
|
||||
)
|
||||
val c = Canvas(bitmap)
|
||||
drawable.setBounds(0, 0, c.width, c.height)
|
||||
drawable.draw(c)
|
||||
return bitmap
|
||||
).applyCanvas {
|
||||
drawable.setBounds(0, 0, this.width, this.height)
|
||||
drawable.draw(this)
|
||||
}
|
||||
}
|
||||
|
||||
protected fun composeRoundedRectPath(
|
||||
|
|
|
@ -33,6 +33,7 @@ import android.view.View
|
|||
import android.view.animation.LinearInterpolator
|
||||
import android.widget.Scroller
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.graphics.withSave
|
||||
import code.name.monkey.retromusic.R
|
||||
import java.io.File
|
||||
import kotlin.math.abs
|
||||
|
@ -521,10 +522,10 @@ class CoverLrcView @JvmOverloads constructor(
|
|||
* @param y 歌词中心 Y 坐标
|
||||
*/
|
||||
private fun drawText(canvas: Canvas, staticLayout: StaticLayout, y: Float) {
|
||||
canvas.save()
|
||||
canvas.translate(mLrcPadding, y - (staticLayout.height shr 1))
|
||||
staticLayout.draw(canvas)
|
||||
canvas.restore()
|
||||
canvas.withSave {
|
||||
translate(mLrcPadding, y - (staticLayout.height shr 1))
|
||||
staticLayout.draw(this)
|
||||
}
|
||||
}
|
||||
|
||||
fun animateCurrentTextSize() {
|
||||
|
|
|
@ -4,6 +4,7 @@ import android.graphics.Bitmap
|
|||
import android.graphics.Canvas
|
||||
import android.graphics.Matrix
|
||||
import android.graphics.Paint
|
||||
import androidx.core.graphics.scale
|
||||
import com.bumptech.glide.util.Util.assertBackgroundThread
|
||||
|
||||
|
||||
|
@ -75,7 +76,7 @@ internal object MergedImageUtils {
|
|||
val onePartSize = imageSize / parts
|
||||
|
||||
images.forEachIndexed { i, bitmap ->
|
||||
val bit = Bitmap.createScaledBitmap(bitmap, onePartSize, onePartSize, true)
|
||||
val bit = bitmap.scale(onePartSize, onePartSize)
|
||||
canvas.drawBitmap(
|
||||
bit,
|
||||
(onePartSize * (i % parts)).toFloat() + (i % 3) * 50,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue