我正在开发一个使用Google Maps API v2的Android应用程序,并通过与其他Android设备的套接字连接共享地图屏幕。一切正常,但我想让它拍摄一张比我屏幕上的地图大的地图的截图,这样它就可以完美地放在接收屏幕截图的设备的大屏幕上。例如:我的应用程序屏幕是540x719,第二个设备接收的位图是宽度:540和高度:719。如何让它发送完全适合第二个应用程序的屏幕截图?
我用于Google地图截图的方法:
public void CaptureMapScreen() {
SnapshotReadyCallback callback = new SnapshotReadyCallback() {
Bitmap bitmap1;
Bitmap bitmap;
@Override
public void onSnapshotReady(Bitmap snapshot) {
bitmap1 = snapshot;
try {
//some code
} catch (Exception e) {
e.printStackTrace();
}
}
};
mGoogleMap.snapshot(callback);
}
答案 0 :(得分:2)
我似乎无法对屏幕上没有的内容进行实际的屏幕截图。这是因为一个简单的事实是“屏幕截图”捕获屏幕,没有,什么不在屏幕上。
此外,无法制作分辨率高于捕捉设备屏幕的实际屏幕截图。
如果您对分辨率不太担心,可以尝试以编程方式缩小您的地图,然后截取屏幕截图,然后再次放大。通过这种方式,您可以捕获更多地图。
您可以做的另一件事是捕获地图的多个不同部分,然后合并以从中生成一个Bitmap
。