2010-07-20 14 views
6

I init, moje płótna tak:jak zmienić wymiary HTML5 canvas bez niego skalowanie zawartości

<canvas id="canvasDiv" width="20" height="20"></canvas> 

i gdzieś w kodzie Chcę zmienić jego rozmiar do jego ostateczny rozmiar:

var canvas = document.getElementById("canvasDiv"); 
canvas.style.width = 200; 
canvas.style.height = 100; 

Jednak każdy piksel, który rysuję na moim płótnie, jest skalowany (więc nie jest już 1 pikselowy).

Jak zmienić wymiary płótna bez tego efektu skalowania? (Więc programowo)

Odpowiedz

15

Chyba po prostu trzeba również ustawić jego właściwości width & Wzrost:

canvas.width = 200; 
canvas.height = 100; 
+0

wow ... I faktycznie sprawdzonych kilka odniesień internetowych DOM, aby zobaczyć atrybuty elementów DOM, a szerokość i wzrost nie był tam. Inne przykłady wykorzystały tę sztuczkę stylu. Właśnie dlatego użyłem tej składni – Toad

+0

Czy istnieje właściwy/oficjalny przewodnik referencyjny dom/css? Założyłem to, ale najwyraźniej nie jest ono kompletne: http://www.javascriptkit.com/domref/elementproperties.shtml – Toad

+0

Oficjalna specyfikacja tagu canvas znajduje się pod adresem http://www.whatwg.org/specs/web- apps/current-work/multipage/the-canvas-element.html – sunetos