相关疑难解决方法(0)

绘制图像时绘制外部阴影

我目前通过绘制到画布在我的应用程序中创建一个圆形版本的图像.我想在图像周围画一个微弱的outershadow,但我不能完全正确.我有两个问题:1.如何绘制外部阴影(我似乎只能用ax或y偏移绘制阴影)2.如何绘制阴影,使其没有附加图像中显示的瑕疵.码:

![public Bitmap getRoundedCornerBitmap(Bitmap bitmap, float cornerRadius) {
        Bitmap output = Bitmap.createBitmap(bitmap.getWidth()+6, bitmap.getHeight() +6, Config.ARGB_8888);
        Canvas canvas = new Canvas(output);

        final int color = 0xff424242;
        int shadowRadius = getDipsFromPixel(3);
        final Rect imageRect = new Rect(shadowRadius, shadowRadius, bitmap.getWidth(), bitmap.getHeight());
        final RectF rectF = new RectF(imageRect);

        // This does not achieve the desired effect
        Paint shadowPaint = new Paint();
        shadowPaint.setAntiAlias(true);
        shadowPaint.setColor(Color.BLACK);
        shadowPaint.setShadowLayer((float)shadowRadius, 2.0f, 2.0f,Color.BLACK);
        canvas.drawOval(rectF, shadowPaint);

        canvas.drawARGB(0, 0, 0, 0);
        final Paint paint = new Paint();
        paint.setAntiAlias(true);
        paint.setColor(color);

        canvas.drawRoundRect(rectF, cornerRadius, cornerRadius, paint); …
Run Code Online (Sandbox Code Playgroud)

android android-canvas

13
推荐指数
3
解决办法
2万
查看次数

标签 统计

android ×1

android-canvas ×1