我将尝试解释我到底需要做什么.
我有3个独立的屏幕,分别是A,B,C.还有另一个名为HomeScreen的屏幕,其中所有3个屏幕位图都应显示在图库视图中,用户可以选择他想去哪个视图.
通过将所有代码仅放在HomeScreen Activity中,我已经能够获得所有3个屏幕的位图并将其显示在Gallery视图中.现在,这使代码变得很复杂,我想简化它.
那么,我可以从HomeScreen调用另一个Activity并且不显示它,只是获取该屏幕的Bitmap.例如,假设我只调用HomeScreen,它调用活动A,B,C,并且不会显示A,B,C中的任何活动.它只是通过getDrawingCache()给出该屏幕的Bitmap.然后我们可以在HomeScreen的Gallery视图中显示这些位图.
我希望我已经非常清楚地解释了这个问题.
如果这确实可行,请告诉我.
可能重复:
如何以编程方式在Android上截取屏幕截图?
如何使用快照数据捕获android设备屏幕内容并制作图像文件?我应该使用哪种API或在哪里可以找到相关资源?
BTW:不是相机快照,而是设备屏幕
我已经建立了一个基本上由HorizontalScrollView内部完成的表ScrollView.我让用户可以编辑字段.
现在我想将表保存在屏幕上,jpg,png,pdf或其他任何内容.
问题是 - 表几乎总是比屏幕大.
有没有办法制作整个ScrollView布局的屏幕截图?如果不是你认为可以做什么工作?
我需要能够GLSurfaceView在特定时刻捕捉到某个时刻的图像.我有以下代码:
relative.setDrawingCacheEnabled(true);
screenshot = Bitmap.createBitmap(relative.getDrawingCache());
relative.setDrawingCacheEnabled(false);
Log.v(TAG, "Screenshot height: " + screenshot.getHeight());
image.setImageBitmap(screenshot);
Run Code Online (Sandbox Code Playgroud)
该GLSurfaceView包含内的RelativeLayout,但我也尝试它直接使用GLSurfaceView,试图捕捉图像.有了这个,我认为屏幕捕获透明图像,即没有任何东西.任何帮助将不胜感激.
我发布了同样的问题,但它接近我的问题,这就是我第二次发布它的原因
嗨,我想从RelativeLayout捕获图像,因为我使用下面的代码
captureRelativeLayout.setDrawingCacheEnabled(true);
bitmap = captureRelativeLayout.getDrawingCache(true).copy(
Config.ARGB_8888, false);
Run Code Online (Sandbox Code Playgroud)
问题是,当我开始活动并从那个时候从该视图中获取图像时它会正常工作,但如果我第二次使用它,图像不会被刷新,意味着每次我得到的是前一个位图.
现在如果我关闭我的活动和agian启动它然后我会得到更新的图像,但再次不是在第二次:(更多信息看看 不能共享图像正确的android
我写了一些代码,可以将tablelayout转换为bitmap.everythink工作完美但是,我的位图有黑色背景这是我的源代码
public Bitmap sendMyData(TableLayout view) {
Bitmap bitmap = null;
ByteArrayOutputStream bbb = new ByteArrayOutputStream();
view.setDrawingCacheEnabled(true);
view.layout(0, 0, view.getWidth(), view.getHeight());
view.buildDrawingCache(true);
bitmap = Bitmap.createBitmap(view.getDrawingCache());
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bbb);
view.setDrawingCacheEnabled(false);
return bitmap;
}
Run Code Online (Sandbox Code Playgroud)
我的代码出了什么问题?为什么我的位图有黑色背景?如果有人知道解决方案,请帮助我谢谢
是否可以在 Google Maps API v2 中使用自定义视图而不是标记?遗憾的是,Google 不允许我们使用视图自定义标记(带有图像视图、文本视图等的相对布局),因此可以膨胀视图,然后将该视图放置到地图中的特定位置吗?
一切,我试着用setDrawingCacheEnabled和getDrawingCache不能正常工作.系统正在制作图像,但它看起来只是黑色.
其他人似乎也有类似的问题,但答案似乎太复杂或与我的情况无关.以下是我看过的一些内容:
这是我的代码:
view.setDrawingCacheEnabled(true);
Bitmap bitmap = view.getDrawingCache();
try {
FileOutputStream stream = new FileOutputStream(getApplicationContext().getCacheDir() + "/image.jpg");
bitmap.compress(CompressFormat.JPEG, 80, stream);
stream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
view.setDrawingCacheEnabled(false);
Run Code Online (Sandbox Code Playgroud)
我在下面分享我的答案,以防其他人犯同样的错误.
我需要使用触摸事件删除旋转视图.我的观点不是轻量级的:它包含一个Web浏览器和其他元素.
我实现了幻灯片删除没有旋转,它的工作速度不是很快,但它的工作原理.添加旋转后...非常非常慢.
我正在寻找快速移除旋转的方法.
据我所知,我可以从屏幕上读取位图,隐藏我的视图并在画布上绘制这个位图.我认为,这种方法应该可行.
我的问题是:
你是如何解决这些问题的?
android ×9
bitmap ×2
animation ×1
caching ×1
google-maps ×1
image ×1
java ×1
marker ×1
screenshot ×1
view ×1