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

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

概述我正在使用这个非常普通的课程来圆角: public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap .getHeight(), Config.A 我正在使用这个非常普通的课程来圆角:
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 – 舍入只有一个图像角 – 不是全部四个全部内容,希望文章能够帮你解决android – 舍入只有一个图像角 – 不是全部四个所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1134613.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存