Cesium-Examples/examples/cesiumEx/5.1.6、场景出图.html
2025-05-29 10:59:44 +08:00

49 lines
1.9 KiB
HTML

<!--********************************************************************
* by jiawanlong
*********************************************************************-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<link rel="stylesheet" href="./../../libs/cesium/Cesium1.98/Widgets/widgets.css">
<script type="text/javascript" src="./../../libs/cesium/Cesium1.98/Cesium.js"></script>
<script src="./html2canvas.js"></script>
</head>
<body style="margin: 0; overflow: hidden; background: #fff; width: 100%; height: 100%; position: absolute; top: 0">
<div id="map" style="margin: 0 auto; width: 100%; height: 100%"></div>
<button style="position: absolute;left: 10px;top: 10px;z-index: 1000;" onclick="print()">打印</button>
<script type="text/javascript">
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyNDMxOTA2NS1lY2Q3LTQ0YmUtOTE1Mi1iNWE2OGYwZjc0MjkiLCJpZCI6MjM1NjMwLCJpYXQiOjE3MzA3MjQzMTJ9.Xhu-9FyVEyqBKWEr0V9Sybt-elTCWHt9peL9-mNh-4E'
const viewer = new Cesium.Viewer('map', {
contextOptions: {
webgl: {
// 一定要加,要不然是黑色
preserveDrawingBuffer: true // 设置为 true 来启用
}
}
});
viewer.scene.debugShowFramesPerSecond = true;
viewer.scene.globe.depthTestAgainstTerrain = true;
function print() {
var element = document.getElementById('map');
html2canvas(element, {
useCORS: true,
allowTaint: true,
}).then(function (canvas) {
const imgData = canvas.toDataURL('image/png');
console.log(imgData)
const link = document.createElement('a');
link.href = imgData;
link.download = 'myImage.png';
link.click();
});
}
</script>
</body>
</html>