MCPcopy Index your code
hub / github.com/bmaslakov/android-close-pixelate

github.com/bmaslakov/android-close-pixelate @1.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.2.0 ↗ · + Follow
34 symbols 67 edges 7 files 5 documented · 15%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

android-close-pixelate

Android close pixelate allows you easily create and combine various pixelation effects. The library is super lightweight (3 classes, 8KB) and easy to use.

This is the android port of https://github.com/desandro/close-pixelate.

close-pixelate.desandro.com

Download

The library is available at jcenter:

repositories {
    jcenter()
}

dependencies {
    compile 'org.rainbowfish:close-pixelate:1.2.0'
}

Usage

There are several Pixelate.from* methods in the PixelateDrawable class, allowing to create a pixelated bitmap from other bitmaps, resources, input streams, etc:

Bitmap pixelated = new Pixelate.fromBitmap(
        bitmap,
        new PixelateLayer.Builder(PixelateLayer.Shape.Square)
                .setResolution(48)
                .setSize(50)
                .build()
);

You also can draw directly on a bitmap or on a canvas, using Pixelate.render* methods.

Examples

Here are the simplest examples of single-layer configurations:

Original original
resolution = 25, size = 25, shape = square simple-hi-square
resolution = 10, size = 10, shape = square simple-lo-square
resolution = 25, size = 25, shape = circle simple-hi-circle
resolution = 10, size = 10, shape = circle simple-lo-circle
resolution = 25, size = 25, shape = diamond simple-hi-diamond
resolution = 10, size = 10, shape = diamond simple-lo-diamond

Combining several layers, you can achieve more interesting effects:

Officer

Pixelate.render(bitmap,
        new PixelateLayer.Builder(PixelateLayer.Shape.Diamond)
                .setResolution(48)
                .setSize(50)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Diamond)
                .setResolution(48)
                .setOffset(24)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(8)
                .setSize(6)
                .build());

Stanley

Pixelate.render(bitmap,
        new PixelateLayer.Builder(PixelateLayer.Shape.Square)
                .setResolution(32)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(32)
                .setOffset(15)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(32)
                .setSize(26)
                .setOffset(13)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(32)
                .setSize(18)
                .setOffset(10)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(32)
                .setSize(12)
                .setOffset(8)
                .build());

Take my portrait

Pixelate.render(bitmap,
        new PixelateLayer.Builder(PixelateLayer.Shape.Square)
                .setResolution(48)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Diamond)
                .setResolution(48)
                .setOffset(12)
                .setAlpha(0.5f)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Diamond)
                .setResolution(48)
                .setOffset(36)
                .setAlpha(0.5f)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(16)
                .setSize(8)
                .setOffset(4)
                .build());

Tony

Pixelate.render(bitmap,
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(32)
                .setSize(6)
                .setOffset(8)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(32)
                .setSize(9)
                .setOffset(16)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(32)
                .setSize(12)
                .setOffset(24)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(32)
                .setSize(9)
                .setOffset(0)
                .build());

Wonder

Pixelate.render(bitmap,
        new PixelateLayer.Builder(PixelateLayer.Shape.Diamond)
                .setResolution(24)
                .setSize(25)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Diamond)
                .setResolution(24)
                .setOffset(12)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Square)
                .setResolution(24)
                .setAlpha(0.6f)
                .build());

Anita

Pixelate.render(bitmap,
        new PixelateLayer.Builder(PixelateLayer.Shape.Square)
                .setResolution(32)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(32)
                .setOffset(16)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(32)
                .setOffset(0)
                .setAlpha(0.5f)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(16)
                .setSize(9)
                .setOffset(0)
                .setAlpha(0.5f)
                .build());

Giraffe

Pixelate.render(bitmap,
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(24)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(24)
                .setSize(9)
                .setOffset(12)
                .build());

Kendra

Pixelate.render(bitmap,
        new PixelateLayer.Builder(PixelateLayer.Shape.Square)
                .setResolution(48)
                .setOffset(24)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Circle)
                .setResolution(48)
                .setOffset(0)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Diamond)
                .setResolution(16)
                .setSize(15)
                .setOffset(0)
                .setAlpha(0.6f)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Diamond)
                .setResolution(16)
                .setSize(15)
                .setOffset(8)
                .setAlpha(0.6f)
                .build());

Gavin

Pixelate.render(bitmap,
        new PixelateLayer.Builder(PixelateLayer.Shape.Square)
                .setResolution(48)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Diamond)
                .setResolution(12)
                .setSize(8)
                .build(),
        new PixelateLayer.Builder(PixelateLayer.Shape.Diamond)
                .setResolution(12)
                .setSize(8)
                .setOffset(6)
                .build());

Core symbols most depended-on inside this repo

setResolution
called by 32
close-pixelate/src/main/java/org/rainbowfish/closepixelate/PixelateLayer.java
build
called by 32
close-pixelate/src/main/java/org/rainbowfish/closepixelate/PixelateLayer.java
setOffset
called by 22
close-pixelate/src/main/java/org/rainbowfish/closepixelate/PixelateLayer.java
setSize
called by 17
close-pixelate/src/main/java/org/rainbowfish/closepixelate/PixelateLayer.java
fromAsset
called by 9
close-pixelate/src/main/java/org/rainbowfish/closepixelate/Pixelate.java
setAlpha
called by 7
close-pixelate/src/main/java/org/rainbowfish/closepixelate/PixelateLayer.java
recycle
called by 3
app/src/main/java/org/rainbowfish/closepixelate/example/MainActivity.java
select
called by 2
app/src/main/java/org/rainbowfish/closepixelate/example/MainActivity.java

Shape

Method 25
Class 8
Enum 1

Languages

Java100%

Modules by API surface

close-pixelate/src/main/java/org/rainbowfish/closepixelate/PixelateLayer.java12 symbols
app/src/main/java/org/rainbowfish/closepixelate/example/MainActivity.java8 symbols
close-pixelate/src/main/java/org/rainbowfish/closepixelate/Pixelate.java6 symbols
close-pixelate/src/test/java/org/rainbowfish/closepixelate/ExampleUnitTest.java2 symbols
close-pixelate/src/androidTest/java/org/rainbowfish/closepixelate/ExampleInstrumentedTest.java2 symbols
app/src/test/java/org/rainbowfish/closepixelate/example/ExampleUnitTest.java2 symbols
app/src/androidTest/java/org/rainbowfish/closepixelate/example/ExampleInstrumentedTest.java2 symbols

For agents

$ claude mcp add android-close-pixelate \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page