gpt4 book ai didi

java - Android 自定义画笔颜色

转载 作者:行者123 更新时间:2023-11-30 11:43:37 24 4
gpt4 key购买 nike

我正在尝试为我的 Android 绘画应用制作自定义画笔。我从 Michael 的代码 ( found here ) 开始,我已经设法获得 .png 画笔并将其用作位图并重新绘制它。它工作正常,但我无法改变颜色。尝试使用 setcolorfiltercolormatrixfilter 但它似乎不起作用。有人知道我该怎么做吗?

private Bitmap mBitmapBrush;
private Vector2 mBitmapBrushDimensions;
private List<Vector2> mPositions = new ArrayList<Vector2>(100);
private Paint mPanit;


public MyView(Context c) {
super(c);

mPath = new Path();
mBitmapPaint = new Paint(Paint.DITHER_FLAG);
mBitmapBrush = BitmapFactory.decodeResource(c.getResources(),R.drawable.brush1);
mBitmapBrushDimensions = new Vector2(mBitmapBrush.getWidth(), mBitmapBrush.getHeight());

}

@Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(0xFFAAAAAA);

canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);
for (Vector2 pos : mPositions) {

canvas.drawBitmap(mBitmapBrush, pos.a, pos.b, mPanit);

}



invalidate();
}

当我尝试使用 Colormatrixfilter 时,.set 函数出现错误。

最佳答案

我遇到了同样的问题。为了更改位图颜色,您需要为绘画对象添加颜色并将其应用到位图中。请参阅此处的工作示例,

  for (Vector2 pos : customBrushMap.get(p)) {
Paint paint = new Paint();
ColorFilter filter = new PorterDuffColorFilter(R.Color.GREEN, PorterDuff.Mode.SRC_IN);
paint.setColorFilter(filter);
canvas.drawBitmap(mBitmapBrush, pos.x, pos.y, paint);
}

结果,

enter image description here

关于java - Android 自定义画笔颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11225215/

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