
Generates dynamic color schemes from seed colors, supporting theme customization through quantization, scoring, and HCT conversion. Facilitates seamless integration with Material Design guidelines.
KMM port of Material Color Utilities Java package
implementation("dev.sasikanth:material-color-utilities:<version>")import dev.sasikanth.material.color.utilities.dynamiccolor.MaterialDynamicColors
import dev.sasikanth.material.color.utilities.hct.Hct
import dev.sasikanth.material.color.utilities.quantize.QuantizerCelebi
import dev.sasikanth.material.color.utilities.scheme.SchemeContent
import dev.sasikanth.material.color.utilities.score.Score
val seedColor = Score.score(
QuantizerCelebi.quantize(bitmapPixels, 128)
)[0] // or specific AARRGGBB color int
val scheme = SchemeContent(
sourceColorHct = Hct.fromInt(seedColor),
isDark = true,
contrastLevel = 0.0
)
val dynamicColors = MaterialDynamicColors()
// Create list of Material tokens you want to use/update
// based on the scheme
val tokens = mapOf(
"primary" to dynamicColors.primary(),
"secondary" to dynamicColors.secondary()
)
val colorsOutput = mutableMapOf<String, Int>()
for (token in tokens) {
colorsOutput[token.key] = token.value.getArgb(scheme)
}
// Use/Update theme colors
KMM port of Material Color Utilities Java package
implementation("dev.sasikanth:material-color-utilities:<version>")import dev.sasikanth.material.color.utilities.dynamiccolor.MaterialDynamicColors
import dev.sasikanth.material.color.utilities.hct.Hct
import dev.sasikanth.material.color.utilities.quantize.QuantizerCelebi
import dev.sasikanth.material.color.utilities.scheme.SchemeContent
import dev.sasikanth.material.color.utilities.score.Score
val seedColor = Score.score(
QuantizerCelebi.quantize(bitmapPixels, 128)
)[0] // or specific AARRGGBB color int
val scheme = SchemeContent(
sourceColorHct = Hct.fromInt(seedColor),
isDark = true,
contrastLevel = 0.0
)
val dynamicColors = MaterialDynamicColors()
// Create list of Material tokens you want to use/update
// based on the scheme
val tokens = mapOf(
"primary" to dynamicColors.primary(),
"secondary" to dynamicColors.secondary()
)
val colorsOutput = mutableMapOf<String, Int>()
for (token in tokens) {
colorsOutput[token.key] = token.value.getArgb(scheme)
}
// Use/Update theme colors