【问题标题】:Android Need to set image from gallery as paint canvas backgroundAndroid需要将图库中的图像设置为画布背景
【发布时间】:2011-08-03 14:28:14
【问题描述】:

我想将画廊中的图像设置为手指画中画布的背景(api 演示示例)。我可以从图库中检索图像,但无法将其设置为背景。一种猜测是我可以将图像作为输入流打开,将其转换为数组并将其传递给位图 - 但我不确定它是否会工作,而且我不知道代码将如何。有人可以帮帮我吗?

【问题讨论】:

  • 发布您的工作代码,以便我们了解您目前所知道的。例如,您是否从磁盘上的资源创建了一个有效的 Bitmap 对象,并且需要知道如何将该位图绘制到画布上?

标签: android android-canvas paint


【解决方案1】:

您可以将 onSizeChanged() 函数修改为,

    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        super.onSizeChanged(w, h, oldw, oldh);
        BitmapFactory.Options decode_options = new BitmapFactory.Options();

        decode_options.inMutable = true;
        mBitmap = BitmapFactory.decodeFile(<file_path>,decode_options);
        mCanvas = new Canvas(mBitmap);
        mBitmapPaint.setXfermode(new PorterDuffXfermode (SRC_IN));
    }

【讨论】:

  • inMutable 选项仅适用于 android 目标 11。还有其他适用于 android 7 的吗?
  • 你可以直接使用,mBitmap = BitmapFactory.decodeFile();位图解码选项
  • 我有同样的问题,但没有得到正确的解决方案。那么我怎样才能使它成为可能呢?请看这个:stackoverflow.com/questions/8005811/…
猜你喜欢
  • 2018-01-05
  • 2018-05-30
  • 1970-01-01
  • 2011-07-11
  • 2017-05-17
  • 1970-01-01
  • 2019-04-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多