android – 舍入只有一个图像角 – 不是全部四个

我正在使用这个非常普通的课程来圆角:
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap,int pixels) {
        Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),bitmap
                .getHeight(),Config.ARGB_8888);
        Canvas canvas = new Canvas(output);

        final int color = 0xff424242;
        final Paint paint = new Paint();
        final Rect rect = new Rect(0,bitmap.getWidth(),bitmap.getHeight());
        final RectF rectF = new RectF(rect);
        final float roundPx = pixels;

        paint.setAntiAlias(true);
        canvas.drawARGB(0,0);
        paint.setColor(color);
        canvas.drawRoundRect(rectF,roundPx,paint);

        paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
        canvas.drawBitmap(bitmap,rect,paint);

        return output;
    }

我想修改它,以便只有左上角是圆角的.我在代码中找不到这个参数吗?有人可以帮忙吗?

解决方法

这可能不是最有效的方法,但您可以通过在当前面具上绘画来填充圆角.您可以从当前代码开始,然后在适当的区域(角落)上使用canvas.drawRect(在调用canvas.drawRoundRect之后).我想像这样的东西只围绕左上角
public static Bitmap getRoundedTopLeftCornerBitmap(Bitmap bitmap,int pixels) {
    Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),bitmap
            .getHeight(),Config.ARGB_8888);
    Canvas canvas = new Canvas(output);

    final int color = 0xff424242;
    final Paint paint = new Paint();
    final Rect rect = new Rect(0,bitmap.getHeight());
    final RectF rectF = new RectF(rect);
    final float roundPx = pixels;
    final Rect topRightRect = new Rect(bitmap.getWidth()/2,bitmap.getHeight()/2);
    final Rect bottomrect = new Rect(0,bitmap.getHeight()/2,bitmap.getHeight());

    paint.setAntiAlias(true);
    canvas.drawARGB(0,0);
    paint.setColor(color);
    canvas.drawRoundRect(rectF,paint);
    // Fill in upper right corner
    canvas.drawRect(topRightRect,paint);
    // Fill in bottom corners
    canvas.drawRect(bottomrect,paint);

    paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
    canvas.drawBitmap(bitmap,paint);

    return output;
}

如果您愿意,可以在这里进行一些优化,但我认为它应该可行.一般的想法肯定应该.我没有尝试或测试过此代码,如果像素>它看起来不正确bitmap.getWidth()/ 2或像素> bitmap.getHeight()/ 2.然后,这也可能是真的.

相关文章

Android 通过adb shell命令查看内存,CPU,启动时间,电量等...
Monkey Android app稳定性测试工具之Monkey使用教程 by:授客...
Android 常见adb命令 by:授客 QQ:1033553122 1、 查看所有已...
这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...