真ん中を切り抜いたView

ネム。
6時とか超早起きで偉いっすね。
これから寝ますけど。

切り抜く

なんとなく、真ん中を切り抜くのって難しいなーって。
f:id:amyu_dev:20140903060324p:plain
こんな感じ!

で、コードがこんな感じ。

public static int alpha = 150;

public static Bitmap makeSquare(int x, int y, int width, int height, Bitmap bmp) {
        int w = DisplayUtil.width();
        int h = DisplayUtil.height();

        final Paint paint = new Paint();
        paint.setAntiAlias(true);

        Bitmap base;
        Canvas baseCanvas;
        if (bmp == null) {
            base = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
            baseCanvas = new Canvas(base);
            baseCanvas.drawARGB(alpha, 0, 0, 0);
        } else {
            base = bmp;
            baseCanvas = new Canvas(base);
        }

        Bitmap rect = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
        Canvas rectCanvas = new Canvas(rect);
        RectF rectF = new RectF(x, y, x + width, y + height);
        rectCanvas.drawRoundRect(rectF, 0, 0, paint);

        paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));
        baseCanvas.drawBitmap(rect, 0.0f, 0.0f, paint);

        rect.recycle();

        return base;
    }

いやー、実は今年の3月ちょうどこれとおんなじのつくろうとしてたんですよー。
ただ、自分の技術的にちょーっと足りなかったところとか、時間が足りなかったりで、画像を用意してたんですよね。
今作ってみるとかなりサクッと出来ちゃうあたり進化してますね!

最後に

多分次はアメリカからの更新になる気がしますー。

ではではー