android – 将一个ImageView的Bitmap内容复制到anoher

android – 将一个ImageView的Bitmap内容复制到anoher,第1张

概述这令我感到困惑.我需要将Bitmap从一个 ImageView复制到另一个.我不想简单地将一个ImageView复制到另一个,因为我需要在路径上对位图进行一些更改. 这是一些不起作用的代码. ImageView ivSrc = (ImageView) findViewById(R.id.photo);ivSrc.setDrawingCacheEnabled(true); Bitmap 这令我感到困惑.我需要将Bitmap从一个 ImageVIEw复制到另一个.我不想简单地将一个ImageVIEw复制到另一个,因为我需要在路径上对位图进行一些更改.

这是一些不起作用的代码.

ImageVIEw ivSrc = (ImageVIEw) findVIEwByID(R.ID.photo);ivSrc.setDrawingCacheEnabled(true);    Bitmap bmSrc1 = ivSrc.getDrawingCache(); // will cause nullPointerException    Bitmap bmSrc2 = Bitmap.createBitmap(ivSrc.getDrawingCache());//bmSrc2 will be null    VIEw vSrc = (VIEw) ivSrc.getParent();    vSrc.setDrawingCacheEnabled(true);    Bitmap bmSrc3 = Bitmap.createBitmap(vSrc.getDrawingCache());  //black bitmap

//测试位图:

ImageVIEw ivDest = (ImageVIEw) findVIEwByID(R.ID.photo2);      ivDest.setimageBitmap(bmSrc1); //bmSrc1,2,3 results shown above

我不得不解决这个问题,因为复制应该很容易. TIA

解决方法 没有使用绘图缓存,但是你不需要调用buildDrawingCache()吗?

我这样做的方式:

Bitmap bmSrc1 = ((BitmapDrawable)ivSrc.getDrawable()).getBitmap();Bitmap bmSrc2 = bmSrc1.copy(bmSrc1.getConfig(),true);

请注意,bmSrc2是可变的,即你可以将它粘贴在Canvas中,并在绘制它之前做任何你喜欢的事情.

总结

以上是内存溢出为你收集整理的android – 将一个ImageView的Bitmap内容复制到anoher全部内容,希望文章能够帮你解决android – 将一个ImageView的Bitmap内容复制到anoher所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1137939.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存