Come potrei fare per avere un file modificabile per trasformare un oggetto in una pagina web?

0

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?

    
posta Family 06.08.2013 - 08:53
fonte

1 risposta

0

Usa JavaScript per disegnare in una tela. Utilizzare il markup XML dichiarativo per creare SVG. Quindi se vuoi usare XSLT, SVG è l'unica scelta sensata qui.

Alcuni background:

Canvas e SVG sono due approcci completamente diversi per la creazione di grafica dinamica per il web.

L'elemento canvas HTML5 serve per disegnare grafica bitmap come sprite, giochi, trame. SVG è per la creazione di grafica vettoriale come i grafici. La grafica vettoriale può essere trasformata (ridimensionata / ingrandita / ruotata) senza perdere la definizione, mentre le immagini bitmap non possono.

    
risposta data 06.08.2013 - 10:11
fonte

Leggi altre domande sui tag