HTML52012. 2. 24. 13:22
요 근래 들어 HTML5가 핫이슈인 것 같긴 하다.

FLEX를 주력으로 했으나..확실히 글로벌 트랜드라는 큰 흐름에는 어쩔 수 없는 듯하여..

요새 나도 조금씩 HTML5에 손대고 있는 중이다.

뭐 크게 달라진 것은 없는 듯 하다..

Flash에서 stage에 Sprite객체를 addchild해서 ActionScript3로 된  graphics객체로 그림을 그리는 거나..

HTML5에서 canvas 태그에 js에서 확장된 api로 그림을 그리는 거나..

허나 AS3를 접한 상태서 js를 다시 하려니 뭔가 기술적 퇴보가 느껴지는 건 어쩔 수 없는 부분이다..

 <!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title> HTML5 Document </title>
  <script type="text/javascript">
   window.addEventListener("load", eventWindowLoaded, false);

   var Debugger = function() {};

   Debugger.log = function(message) {
    try{
     console.log(message);
    }catch(exception){
     return;
    }
   }

   function eventWindowLoaded()
   {
    canvasApp();
   }
   
   var theCanvas;

   function canvasApp()
   {
    theCanvas = document.getElementById("canvasOne");

    if(!theCanvas || !theCanvas.getContext){
     return;
    }

    drawScreen();
   }

   var canvasWidth = 200;
   var canvasHeight = 267;
   var width = 125;
   var height = 105;
   var padding = 25;
   var lineWidth = 8;
   var innerBorder = 5;
   var primaryColor = "#ffc821";
   var secondaryColor = "#faf100";
   var tertiaryColor = "#dcaa09";

   function drawScreen()
   {
    var context = theCanvas.getContext("2d");

    var width = 125;
    var height = 100;
    var padding = 20;

    // Create a triangluar path
    context.beginPath();
    context.moveTo(padding + width/2, padding);
    context.lineTo(padding + width, height + padding);
    context.lineTo(padding, height + padding);
    context.closePath();

    // Create fill gradient
    var gradient = context.createLinearGradient(0,0,0,height);
    gradient.addColorStop(0, primaryColor);
    gradient.addColorStop(1, secondaryColor);
     
    // Add a shadow around the object
    context.shadowBlur = 10;
    context.shadowColor = "black";
     
    // Stroke the outer outline
    context.lineWidth = lineWidth * 2;
    context.lineJoin = "round"; 
    context.strokeStyle = gradient;
    context.stroke();
     
    // Turn off the shadow, or all future fills will have shadows
    context.shadowColor = "transparent";
     
    // Fill the path
    context.fillStyle = gradient;
    context.fill();
    
    // Add a horizon reflection with a gradient to transparent
    gradient=context.createLinearGradient(0,padding,0,padding+height);
    gradient.addColorStop(0, "transparent");
    gradient.addColorStop(0.5, "transparent");
    gradient.addColorStop(0.5, tertiaryColor);
    gradient.addColorStop(1, secondaryColor);
    
    context.fillStyle = gradient;
    context.fill();
     
    // Stroke the inner outline
    context.lineWidth = lineWidth;
    context.lineJoin = "round"; 
    context.strokeStyle = "#333";
    context.stroke();
    
    // Draw the text exclamation point
    context.textAlign = "center";
    context.textBaseline = "middle";
    context.font = "bold 60px 'Times New Roman', Times, serif";
    context.fillStyle = "#333";

    try{
     context.fillText("!", padding + width/2, padding + height/1.5);
    }catch(ex){}
   }
  </script>
 </head>
 <body>
  <canvas id="canvasOne" width="165" height="165">
   Your browser does not support HTML5 Canvas
  </canvas>
 </body>
</html>


Posted by 미랭군