在這個問題的最後是SSCCE在HTML5畫布上顯示衛星圖像的24000x12000米勒投影。它有幾個問題:HTML5畫布中的非常高分辨率圖像
- 而不是在一個屏幕上顯示整個圖像,因爲我只希望顯示一小部分左上角。
- 將圖像從因爲圖像是非常高的分辨率
- 使用的圖像可在Wikimedia不應該在顯示的規模出現極端像素化受到影響。我將其更名爲「world.jpg」。
- 這不是一個普通的Web應用程序,在應用程序執行期間不會下載大圖像,因此任何建議不要求下載這麼大的圖像都沒有意義。
- 該應用程序將動態縮放到各種地圖區域,從而大圖像大小。
- 在真實的代碼中,我使用了外部樣式表和JavaScript文件。我將它們整合到僅用於SSCCE的html中。
這是代碼。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>The Earth</title>
<script type="text/javascript">
function draw() {
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var map = new Image();
map.src = "world.jpg";
map.onload = function() {
var width = window.innerWidth;
var height = window.innerHeight;
ctx.drawImage(map, 0, 0, width, height);
};
}
</script>
<style>
html, body {
width: 100%;
height: 100%;
margin: 0px;
}
#canvas {
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
background-color: rgba(0, 0, 0, 0);
}
</style>
</head>
<body onload="draw();">
<canvas id="canvas"></canvas>
</body>
</html>
你在不同的瀏覽器上試過了嗎?像素化聽起來像瀏覽器代碼中的錯誤或優化。你正在談論一個非常大的圖像(800 MB未壓縮),不同瀏覽器與這些圖像的能力可能會有所不同。 – DrV
Chromium和Ubuntu瀏覽器產生類似的結果。 – KevinRethwisch
這可能是一個非常愚蠢的問題,但你確定你下載了巨大版本的圖像。您的鏈接指向低分辨率預覽。圖像文件應該是20 MiB左右的JPEG格式。 – DrV