Skip to content

Commit 285b8bc

Browse files
author
therealbluepandabear
committed
Utilized getPixels for Bitmap.getNumberOfUniqueColors.
1 parent f5dcdcd commit 285b8bc

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

app/src/main/java/com/therealbluepandabear/pixapencil/extensions/BitmapExtensions.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,9 @@ import android.graphics.Bitmap
44
import android.graphics.Canvas
55
import android.graphics.Color
66
import android.graphics.Matrix
7-
import android.util.Log
87
import com.therealbluepandabear.pixapencil.enums.OverlayType
98
import com.therealbluepandabear.pixapencil.models.Coordinates
109
import com.therealbluepandabear.pixapencil.models.MatrixInfo
11-
import kotlin.math.ceil
12-
import kotlin.system.measureTimeMillis
1310

1411
fun Bitmap.iterate(func: (Coordinates) -> Unit) {
1512
for (i_1 in 0 until width) {
@@ -47,12 +44,15 @@ fun Bitmap.replacePixelsByColor(colorToFind: Int, colorToReplace: Int, func: ((C
4744

4845
fun Bitmap.getNumberOfUniqueColors(excludeTransparentPixels: Boolean = true): Int {
4946
val colors = mutableListOf<Int>()
47+
val array = IntArray(size())
5048

51-
iterate {
52-
val colorAtPixel = getPixel(it)
49+
getPixels(array, 0, width, 0, 0, width, height)
5350

54-
if (!colors.contains(colorAtPixel) && (excludeTransparentPixels && colorAtPixel != Color.TRANSPARENT)) {
55-
colors.add(colorAtPixel)
51+
for (i in array.indices) {
52+
val color = array[i]
53+
54+
if (!colors.contains(color) && (excludeTransparentPixels && color != Color.TRANSPARENT)) {
55+
colors.add(color)
5656
}
5757
}
5858

0 commit comments

Comments
 (0)