Bir kanvasın boyutu (genişlik ve yükseklik) değiştirilebilir, ancak kanvasın stil boyutu dinamik olarak değiştirilemez.Bir kanvasın stil boyutunu JavaScript ile dinamik olarak nasıl değiştirebilirim?
canvas = document.getElementById('test_fabric');
ctx = this.canvas.getContext('2d');
canvas.style.width = 1000; // does not work.
canvas.style.height = 260; // does not work.
canvas.width = 100; // works.
canvas.height = 100; // works.
Hem canvas.width ve iyi iş canvas.height, ancak her iki canvas.style.width ve canvas.style.height çalışmaz.
Benim durumumda, tuvalin stil boyutu yalnızca bir css dosyası veya tuvalin satır içi stili ile değiştirilebilir.
canvas#test_fabric {
width:400px;
height:400px;
background:gold;
}
veya
<div><canvas id="test_fabric" width="200" height="200"
style="width:200px; height:200px"></canvas></div>
Not: satır içi stil var olduğunda css dosyası etkisiz hale gelir.
Bir kanvasın stil boyutunu JavaScript ile dinamik olarak değiştirmenin yolu nedir?
Şimdiden teşekkürler!
yazık ayar yüksekliği ve genişliği için CSS yöntemi kullanmak jquery kullanmış, demek: http://stackoverflow.com/questions/13779429/canvas-inline-height-and-width- öznitelikler ile override-css-styles-is-bu- – Gavriel
CSS uzunluk birimleri, örneğin, "px" belirterek denediniz mi? canvas.style.width = "1000px" ' – nnnnnn
" canvas.setAttribute ('width', '500'); kullanmayı denerim. " ve "canvas.setAttribute ('height', '500');", tuval etiketi stil olmadan tanımlanırken ve tuval etiketini stil ile tanımlarken Chrome bir ileti rapor eder: "[Sadece Rapor] Reddedildi Aşağıdaki İçerik Güvenliği İlkesi yönergesini ihlal ettiği için satır içi stil uygular: "style-src 'self" ".Safe-inline" anahtar sözcüğü, bir hash (' sha256-8qEYHk4WwsvJKgLquQfLnw2DRoaMh4sWGNj24adrRLQ = ') veya bir nonce (' nonce-. .. ') satır içi yürütmeyi etkinleştirmek için gereklidir. " – Calvin