Ho un codice che crea oggetti su una pagina web utilizzando l'estrazione su tela HTML5.
Nel mio file aspx ho funzioni come:
function drawLine(x, y, w, h, width) {
var canvas = document.getElementById('cpMainContent_myCanvas');
var ctx = canvas.getContext('2d');
ctx.moveTo(x, y);
ctx.lineTo(x + w, y + h);
ctx.lineWidth = width;
ctx.stroke();
}
function drawShape(x, y, listOfPoints, fill, width, colour) {
var canvas = document.getElementById('cpMainContent_myCanvas');
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.moveTo(x, y);
for (var i = 0; i < listOfPoints.length; i++) {
ctx.lineTo(listOfPoints[i][0], listOfPoints[i][1]);
};
ctx.fillStyle = fill;
ctx.fill();
ctx.closePath();
ctx.lineWidth = width;
ctx.strokeStyle = colour;
ctx.stroke();
}
etc...
Sul lato server genera una stringa "s" che forma il mio script e quindi la chiamo utilizzando:
ClientScript.RegisterStartupScript(GetType(), "Test", s.ToString(), true);
Quando viene visualizzata la pagina, produce qualcosa di simile a:
<script type="text/javascript">
//<![CDATA[
function Test(){drawLine(680,409.5,19,0,1);drawSemiCircle(699,409.5,8,0);drawRectangle(700,422.5,68,-26,'#000000',1,'#FFFFFF');drawText('K1D',703,415.5,'14pt Arial Narrow');}Test();//]]>
</script>
E ottengo una pagina web che mostra disegni lineari che raffigurano determinati oggetti.
La mia domanda è, è possibile avere un file esterno per descrivere come vengono creati questi oggetti? Ho solo dato un occhiata a XSLT e non riesco a trovare se è in grado di supportare disegni lineari su misura.
Vorrei la possibilità di avere un file per ogni tipo di oggetto, quindi nel file definire di cosa è fatto. Per esempio. nel file posso dichiarare: drawLine (x, y, 19,0,1); drawSemiCircle (x + 19, y, 8,0);
O qualcosa di simile.
Penso di aver bisogno di usare SVG. Il motivo per cui ho usato il canvas HTML5 è perché pensavo che questa fosse l'ultima tecnologia e farebbe praticamente quello che fa SVG. Ma sembra che usare XSL per creare un disegno a tratteggio sulla mia pagina web, avrei bisogno di usare SVG. Sto interpretando correttamente questo?