在我的应用程序中,我扩展了 ImageView 并覆盖了它的 onDraw() 方法。我正在使用颜色过滤器来操作位图以添加一些效果,如反转、灰度等。绘制位图后,我试图保存它,但我只能保存原始位图而没有添加效果。这是 onDraw() 和 save 方法的代码:
protected void onDraw(Canvas canvas)
{
Paint paint = mPaint;
//cmf is the color matrix filter
paint.setColorFilter(cmf);
if(mBitmap != null)
{
canvas.drawBitmap(mBitmap, offsetW, offsetH, paint);
}
}
保存位图的代码:
try
{
FileOutputStream fout = new FileOutputStream(path);
mBitmap.compress(CompressFormat.JPEG, 100, fout);
} catch (FileNotFoundException e)
{
e.printStackTrace();
}
难道我做错了什么?任何帮助将不胜感激。