gpt4 book ai didi

android - 在 android 中压印图像形状(使用 EmbossMaskFilter)

转载 作者:行者123 更新时间:2023-11-29 01:35:24 26 4
gpt4 key购买 nike

我想获取基于 Path 对象创建的浮雕位图。问题是浮雕效果只适用于直边。

我想得到这样的最终结果:

enter image description here

Path对象创建如下

Path mPath= new Path();

mPath.moveTo(100, 100);
mPath.lineTo(200, 100);
mPath.lineTo(150, 150);
mPath.lineTo(200, 200);
mPath.lineTo(100, 200);
mPath.close();

然后从这个路径对象创建一个位图,如下所示。带有浮雕过滤器。

    piecePicture = Bitmap.createBitmap(200, 200,Bitmap.Config.ARGB_8888);

MaskFilter mEmboss = new EmbossMaskFilter(new float[] { 1, 1, 1 }, 0.4f, 6, 3.5f);
Canvas gfx = new Canvas(piecePicture);


Paint whitePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
whitePaint.setColor(Color.WHITE);
whitePaint.setStyle(Paint.Style.FILL_AND_STROKE);
whitePaint.setStrokeWidth(1);

// shape image has to take
mPath.addRect(10, 10, 195, 195, Direction.CCW);
gfx.drawPath(mPath, whitePaint);

Paint paint = new Paint();
paint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.SRC_IN));
paint.setMaskFilter(mEmboss);
// draw the image on path viewBgrnd is the bitmap
gfx.drawBitmap(viewBgrnd, 10,10, paint);

最佳答案

不幸的是,EmbossMaskFilter 仅适用于STROKEFILL_AND_STROKE 绘画。我无法指出任何关于此的文档,但根据我的实验,这些是我可以让它工作的唯一情况。

关于android - 在 android 中压印图像形状(使用 EmbossMaskFilter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28491210/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com