我想获取与画布关联的当前位图,以便可以对其执行操作.我看不到该怎么做.
我已经看到了一些示例,在这些示例中,您创建了一个位图并将画布设置为使用该位图,因此显然您可以稍后再访问它,但是我使用的是从SurfaceHolder返回的画布,因此没有构造函数.
例如,示例经常显示这种情况:
Bitmap bmp = Bitmap.createBitmap(xxx, yyy, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bmp);
>因此,此时我可以看到bmp.
就我而言,画布是通过以下方式获得的:
final SurfaceHolder holder = getSurfaceHolder();
Canvas c = null;
try {
c = holder.lockCanvas();
那么如何获得c的位图?
编辑
@鲁本-你可能是对的,我确实对此感到奇怪.简而言之,我的目的是在绘制“材料”的地方捕获当前的画布内容,然后将其反转制作并复制到下面.像反思.我发现的示例通过位图完成了所有操作,因此我假设我需要以某种方式将当前画布捕获到位图才能使用它.如果有更好的方法可以做到这一点,我全神贯注!
解决方法:
迟到总比不到好 :)
BitmapDrawable bitDrawable = new BitmapDrawable();
bitmapDrawable.draw(videoView.getHolder().lockCanvas());
然后,您可以从BitmapDrawable返回位图.
以我为例:
imageView.setImageBitmap(bitmapDrawable.getBitmap());
标签:canvas,bitmap,java,android
来源: https://codeday.me/bug/20191209/2095487.html