Я только начал работать с элементом холста html5.
Я использую новейшие браузеры Firefox и Chromium. И до сих пор они
отвечая одинаково.
Я пытаюсь достичь масштабирования изображения без необходимости
укажите размеры холста или рисунка. Я хотел бы заполнить холст
окно браузера, и для изображения, чтобы заполнить холст без
указав любые размеры. И перенастроить холст и его изображение на
летать, когда пользователь настраивает рамку браузера.
Образ особняка, с которым я тестирую, - 4284x2844.
Мне удалось добиться динамического масштабирования, но есть проблема ...
если я не укажу размеры, изображение станет размытым.
Это мой первый вопрос о переполнении стека, и я не покорил
форматирование. Итак, обратите внимание на небольшое количество кода
на пастбине:
http://pastebin.com/88faqJUx
Спасибо за вашу помощь.
Я нашел решение ...
Добавление двух строк, без каких-либо других изменений, сработало, хотя на данный момент я не совсем уверен
почему он изначально терпел неудачу, но полностью рад двигаться дальше ...
<canvas id="taba_main_canvas">
Your browser does not support the canvas element.
</ canvas>
<script type="text/javascript">
var main_canvas=document.getElementById("taba_main_canvas");
var cxt=main_canvas.getContext("2d");
// adding these next two lines solved the blurriness issues
//Set the canvas width to the same as the browser
main_canvas.width = window.innerWidth;
main_canvas.height = window.innerHeight;
var img=new Image();
<!-- mansion pic 4284x2844 -->
img.src="images/mansion_3344.png";
img.onload = function()
{
<!-- use the graphics full size and scale the canvas in css -->
cxt.drawImage(img,0,0,main_canvas.width,main_canvas.height);
}
</script>
Только одна маленькая проблема, вертикальный размер изображения, по-видимому, всего на несколько строк выше.
чем холст, и поэтому я получаю вертикальную полосу прокрутки. Перетаскивание окна браузера выше, что обычно
устранение вертикальной полосы прокрутки не имеет никакого эффекта. Я пытался управлять холстом или высотой изображения
в коде, но это ничего не изменило.
И все же, иметь чистое изображение - большая победа. Я двигаюсь на данный момент и вернусь к этому
позже.