From b3f9f45abb4ecc3ff4251e88d4fcfc1db8e4d572 Mon Sep 17 00:00:00 2001 From: skydoves Date: Sat, 10 Jan 2026 16:01:40 +0900 Subject: [PATCH] Check transparent colors for allowing to select a black color values --- .../main/java/com/skydoves/colorpickerview/PointMapper.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/colorpickerview/src/main/java/com/skydoves/colorpickerview/PointMapper.java b/colorpickerview/src/main/java/com/skydoves/colorpickerview/PointMapper.java index 9de3caa..ae873d8 100644 --- a/colorpickerview/src/main/java/com/skydoves/colorpickerview/PointMapper.java +++ b/colorpickerview/src/main/java/com/skydoves/colorpickerview/PointMapper.java @@ -34,7 +34,10 @@ private static Point approximatedPoint(ColorPickerView colorPickerView, Point st if (getDistance(start, end) <= 3) return end; Point center = getCenterPoint(start, end); int color = colorPickerView.getColorFromBitmap(center.x, center.y); - if (color == Color.TRANSPARENT) { + // Check alpha channel to determine if pixel is transparent. + // This allows selecting black (0xFF000000) which was previously + // confused with transparent (0x00000000) when using == Color.TRANSPARENT. + if (Color.alpha(color) == 0) { return approximatedPoint(colorPickerView, center, end); } else { return approximatedPoint(colorPickerView, start, center);