• 吴裕雄--天生自然PHP-MySQL-JavaScript学习笔记:HTML5音频和视频


    <!DOCTYPE html>
    <html>
      <head>
        <title>Drawing Arcs</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='640' height='480'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
          context.lineWidth    = 2
          context.strokeStyle  = 'blue'
    
          Math.degreesToRadians = function(degrees)
          {
            return degrees * Math.PI / 180
          }
    
          // Following is the original example code
          //
          // arcs =
          // [
          //   Math.PI,
          //   Math.PI * 2,
          //   Math.PI / 2,
          //   Math.PI / 180 * 59
          // ]
          //
          // Below the code now uses degrees as arguments
    
          arcs =
          [
            Math.degreesToRadians(180),
            Math.degreesToRadians(360),
            Math.degreesToRadians(90),
            Math.degreesToRadians(59)
          ]
    
          for (j = 0 ; j < 4 ; ++j)
          {
            context.beginPath()
            context.arc(80 + j * 160, 80, 70, 0, arcs[j])
            context.closePath()
            context.stroke()
          }
          
          context.strokeStyle = 'red'
    
          for (j = 0 ; j < 4 ; ++j)
          {
            context.beginPath()
            context.arc(80 + j * 160, 240, 70, 0, arcs[j])
            context.stroke()
            context.closePath()
          }
    
          context.strokeStyle = 'green'
    
          for (j = 0 ; j < 4 ; ++j)
          {
            context.beginPath()
            context.arc(80 + j * 160, 400, 70, 0, arcs[j], true)
            context.stroke()
            context.closePath()
          }
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Clipping Areas (b)</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='640' height='480'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
          context.fillStyle    = 'white'
          context.strokeRect(20, 20, 600, 440) // Black border
          context.fillRect(  20, 20, 600, 440) // White background
    
          context.beginPath()
    
          for (j = 0 ; j < 10 ; ++j)
          {
            context.moveTo(20,  j * 48)
            context.lineTo(620, j * 48)
            context.lineTo(620, j * 48 + 30)
            context.lineTo(20,  j * 48 + 30)
          }
    
          context.clip()
          context.closePath()
    
          context.fillStyle   = 'blue'         // Blue sky
          context.fillRect(20, 20,  600, 320)
          context.fillStyle   = 'green'        // Green grass
          context.fillRect(20, 320, 600, 140)
          context.strokeStyle = 'orange'
          context.fillStyle   = 'yellow'
    
          orig   = 170
          points = 21
          dist   = Math.PI / points * 2
          scale1 = 130
          scale2 = 80
     
          context.beginPath()
    
          for (j = 0 ; j < points ; ++j)
          {
            x = Math.sin(j * dist)
            y = Math.cos(j * dist)
            context.lineTo(orig + x * scale1, orig + y * scale1)
            context.lineTo(orig + x * scale2, orig + y * scale2)
          }
    
          context.closePath()
          context.stroke()                     // Sun outline
          context.fill()                       // Sun fill
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Clipping Areas (a)</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='640' height='480'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
    
          context.beginPath()
    
          for (j = 0 ; j < 10 ; ++j)
          {
            context.moveTo(20,  j * 48)
            context.lineTo(620, j * 48)
            context.lineTo(620, j * 48 + 30)
            context.lineTo(20,  j * 48 + 30)
          }
    
          context.stroke()
          context.closePath()
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Filling a Path</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='320' height='320'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
          context.strokeStyle  = 'orange'
          context.fillStyle    = 'yellow'
    
          orig   = 160
          points = 21
          dist   = Math.PI / points * 2
          scale1 = 150
          scale2 = 80
     
          context.beginPath()
    
          for (j = 0 ; j < points ; ++j)
          {
            x = Math.sin(j * dist)
            y = Math.cos(j * dist)
            context.lineTo(orig + x * scale1, orig + y * scale1)
            context.lineTo(orig + x * scale2, orig + y * scale2)
          }
    
          context.closePath()
          context.stroke()
          context.fill()
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Drawing Lines</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='535' height='360'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
          context.fillStyle    = 'red'
          context.font         = 'bold 13pt Courier'
          context.strokeStyle  = 'blue'
          context.textBaseline = 'top'
          context.lineWidth    = 20
          caps                 = ['butt',  'round', 'square']
          joins                = ['round', 'bevel', 'miter']
    
          for (j = 0 ; j < 3 ; ++j)
          {
            for (k = 0 ; k < 3 ; ++k)
            {
              context.lineCap  = caps[j]
              context.lineJoin = joins[k]
    
              context.fillText(' cap:' + caps[j],  33 + j * 180, 45 + k * 120)
              context.fillText('join:' + joins[k], 33 + j * 180, 65 + k * 120)
    
              context.beginPath()         
              context.moveTo( 20 + j * 180, 100 + k * 120)
              context.lineTo( 20 + j * 180,  20 + k * 120)
              context.lineTo(155 + j * 180,  20 + k * 120)
              context.lineTo(155 + j * 180, 100 + k * 120)
              context.stroke()
              context.closePath()
            }
          }
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Filling Text</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='800' height='160'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          context.font         = 'bold 140px Times'
          context.textBaseline = 'top'
          image                = new Image()
          image.src            = 'wicker.jpg'
    
          image.onload = function()
          {
            pattern           = context.createPattern(image, 'repeat')
            context.fillStyle = pattern
            context.fillText(  'WickerpediA', 0, 0)
            context.strokeText('WickerpediA', 0, 0)
          }
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Using Text</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='800' height='160'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          context.font         = 'bold 140px Times'
          context.textBaseline = 'top'
          context.strokeText('WickerpediA', 0, 0)
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Pattern Fill</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='640' height='240'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
          
          image     = new Image()
          image.src = 'image.png'
    
          image.onload = function()
          {
            pattern           = context.createPattern(image, 'repeat')
            context.fillStyle = pattern
            context.fillRect(20, 20, 600, 200)
          }
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>A Stretched Radial Gradient</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='640' height='240'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
     
          gradient = context.createRadialGradient(0, 120, 0, 480, 120, 480)
          gradient.addColorStop(0.00, 'red')
          gradient.addColorStop(0.14, 'orange')
          gradient.addColorStop(0.28, 'yellow')
          gradient.addColorStop(0.42, 'green')
          gradient.addColorStop(0.56, 'blue')
          gradient.addColorStop(0.70, 'indigo')
          gradient.addColorStop(0.84, 'violet')
    
          context.fillStyle = gradient
          context.fillRect(20, 20, 600, 200)
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>A Radial Gradient</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='640' height='240'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
     
          gradient = context.createRadialGradient(320, 120, 0, 320, 120, 320)
          gradient.addColorStop(0.00, 'red')
          gradient.addColorStop(0.14, 'orange')
          gradient.addColorStop(0.28, 'yellow')
          gradient.addColorStop(0.42, 'green')
          gradient.addColorStop(0.56, 'blue')
          gradient.addColorStop(0.70, 'indigo')
          gradient.addColorStop(0.84, 'violet')
    
          context.fillStyle = gradient
          context.fillRect(20, 20, 600, 200)
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Multiple Color Stops</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='640' height='240'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
     
          gradient = context.createLinearGradient(0, 0, 640, 0)
          gradient.addColorStop(0.00, 'red')
          gradient.addColorStop(0.14, 'orange')
          gradient.addColorStop(0.28, 'yellow')
          gradient.addColorStop(0.42, 'green')
          gradient.addColorStop(0.56, 'blue')
          gradient.addColorStop(0.70, 'indigo')
          gradient.addColorStop(0.84, 'violet')
    
          context.fillStyle = gradient
          context.fillRect(20, 20, 600, 200)
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Different Gradient Angles</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='640' height='240'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
     
          gradient = context.createLinearGradient(0, 0, 160, 0)
          gradient.addColorStop(0, 'white')
          gradient.addColorStop(1, 'black')
          context.fillStyle = gradient
          context.fillRect(20, 20, 135, 200)
    
          gradient = context.createLinearGradient(0, 0, 0, 240)
          gradient.addColorStop(0, 'yellow')
          gradient.addColorStop(1, 'red')
          context.fillStyle = gradient
          context.fillRect(175, 20, 135, 200)
    
          gradient = context.createLinearGradient(320, 0, 480, 240)
          gradient.addColorStop(0, 'green')
          gradient.addColorStop(1, 'purple')
          context.fillStyle = gradient
          context.fillRect(330, 20, 135, 200)
    
          gradient = context.createLinearGradient(480, 240, 640, 0)
          gradient.addColorStop(0, 'orange')
          gradient.addColorStop(1, 'magenta')
          context.fillStyle = gradient
          context.fillRect(485, 20, 135, 200)
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Filling with Gradients</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='640' height='240'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
          context.fillStyle    = 'blue'
          context.strokeStyle  = 'green'
    
          context.fillRect(  20, 20, 600, 200)
          context.clearRect( 40, 40, 560, 160)
          context.strokeRect(60, 60, 520, 120)
     
          gradient = context.createLinearGradient(0, 80, 640,80)
          gradient.addColorStop(0, 'white')
          gradient.addColorStop(1, 'black')
          context.fillStyle = gradient
          context.fillRect(80, 80, 480,80)
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Drawing Rectangles</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='640' height='240'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
          context.fillStyle    = 'blue'
          context.strokeStyle  = 'green'
    
          context.fillRect(  20, 20, 600, 200)
          context.clearRect( 40, 40, 560, 160)
          context.strokeRect(60, 60, 520, 120)
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Copying a Canvas</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='320' height='240'>
          This is a canvas element given the ID <i>mycanvas</i>
          This text is only visible in non-HTML5 browsers
        </canvas>
    
        <img id='myimage'>
    
        <script>
          canvas            = O('mycanvas')
          context           = canvas.getContext('2d')
          context.fillStyle = 'red'
          S(canvas).border  = '1px solid black'
    
          context.beginPath()
          context.moveTo(160, 120)
          context.arc(160, 120, 70, 0, Math.PI * 2, false)
          context.closePath()
          context.fill()
    
          S('myimage').border = '1px solid black'
          O('myimage').src    = canvas.toDataURL()
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>The HTML5 Canvas</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='320' height='240'>
          This is a canvas element given the ID <i>mycanvas</i>
          This text is only visible in non-HTML5 browsers
        </canvas>
    
        <script>
          canvas            = O('mycanvas')
          context           = canvas.getContext('2d')
          context.fillStyle = 'red'
          S(canvas).border  = '1px solid black'
    
          context.beginPath()
          context.moveTo(160, 120)
          context.arc(160, 120, 70, 0, Math.PI * 2, false)
          context.closePath()
          context.fill()
        </script>
      </body>
    </html>
    function O(i) { return typeof i == 'object' ? i : document.getElementById(i) }
    function S(i) { return O(i).style                                            }
    function C(i) { return document.getElementsByClassName(i)                    }
    <!DOCTYPE html>
    <html>
      <head>
        <title>Skewing</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='500' height='140'></canvas>
        
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
    
          myimage     = new Image()
          myimage.src = 'image.png'
    
          myimage.onload = function()
          {
            context.drawImage(myimage,  20, 20)
            context.transform(1, 0, 1, 1, 0, 0)
            context.drawImage(myimage, 140, 20)
          }
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Rotating (b)</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='500' height='140'></canvas>
        
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
    
          myimage     = new Image()
          myimage.src = 'image.png'
    
          myimage.onload = function()
          {
            w = myimage.width
            h = myimage.height
    
            for (j = 0 ; j < 4 ; ++j)
            {
              context.save()
              context.translate(20 + w / 2 + j * (w + 20), 20 + h / 2)
    
              // Alternative to the above using transform()
              // context.transform(1, 0, 0, 1, 20 + w / 2 + j * (w + 20), 20 + h / 2)
    
              context.rotate(Math.PI / 5 * j)
              context.drawImage(myimage, -(w / 2), -(h / 2))
              context.restore()
            }
          }
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Rotating (a)</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='500' height='280'></canvas>
        
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
    
          myimage     = new Image()
          myimage.src = 'image.png'
    
          myimage.onload = function()
          {
            for (j = 0 ; j < 4 ; ++j)
            {
              context.drawImage(myimage, 20 + j * 120 , 20)
              context.rotate(Math.PI / 25)
            }
          }
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Scaling</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='420' height='200'></canvas>
        
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
    
          myimage     = new Image()
          myimage.src = 'image.png'
    
          myimage.onload = function()
          {
            context.drawImage(myimage, 0, 0)
            context.scale(3, 2)
            
            // Alternative to above using transform()
            // context.transform(3, 0, 0, 2, 0, 0)
    
            context.drawImage(myimage, 40,   0)
            context.scale(.33, .5)
            context.drawImage(myimage,  0, 100)
    
            // Improved version using save() and restore()
            //
            // context.drawImage(myimage, 0, 0)
            // context.save()
            // context.scale(3, 2)
            // context.drawImage(myimage, 40, 0)
            // context.restore()
            // context.drawImage(myimage, 0, 100)
          }
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Compositing</title>
        <script src='OSC.js'></script>
        <style>
          .compositing {
            font-family:'courier new';
            font-size  :9pt;
          }
        </style>
      </head>
      <body>
        <div class='compositing'>
          <canvas class='canvas' id='c1'  width='120' height='120'></canvas>
          <canvas class='canvas' id='c2'  width='120' height='120'></canvas>
    
          <canvas class='canvas' id='c3'  width='120' height='120'></canvas>
          <canvas class='canvas' id='c4'  width='120' height='120'></canvas>
          <br>
          &nbsp;&nbsp; source-over &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
          source-in &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; source-out
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; source-atop<br>
    
            
          <canvas class='canvas' id='c5'  width='120' height='120'></canvas>
          <canvas class='canvas' id='c6'  width='120' height='120'></canvas>
          <canvas class='canvas' id='c7'  width='120' height='120'></canvas>
          <canvas class='canvas' id='c8'  width='120' height='120'></canvas>
          <br>
          destination-over &nbsp; destination-in &nbsp;&nbsp;&nbsp;
          destination-out &nbsp; destination atop<br>
    
          <canvas class='canvas' id='c9'  width='120' height='120'></canvas>
          <canvas class='canvas' id='c10' width='120' height='120'></canvas>
          <canvas class='canvas' id='c11' width='120' height='120'></canvas>
          <canvas class='canvas' id='c12' width='120' height='120'></canvas>
          <br>
          &nbsp;&nbsp;&nbsp; &nbsp;lighter
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; darker
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    
          &nbsp;copy &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
          &nbsp;&nbsp;&nbsp;&nbsp;xor
        </div>
        
        <script>
          image     = new Image()
          image.src = 'image.png'
    
          image.onload = function()
          {
            types =
            [
              'source-over',     'source-in',        'source-out',
              'source-atop',     'destination-over', 'destination-in',
              'destination-out', 'destination-atop', 'lighter',
              'darker',          'copy',             'xor'
            ]
    
            for (j = 0 ; j < 12 ; ++j)
            {
              canvas               = O('c' + (j + 1))
              context              = canvas.getContext('2d')
              S(canvas).background = 'lightblue'
              context.fillStyle    = 'red'
    
              context.arc(50, 50, 50, 0, Math.PI * 2, false)
              context.fill()
              context.globalCompositeOperation = types[j]
              context.drawImage(image, 20, 20, 100, 100)
            }
          }
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Manipulating Image Data</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='640' height='200'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
    
          myimage     = new Image()
          myimage.src = 'photo.jpg'
    
          myimage.onload = function()
          {
            context.drawImage(myimage, 0, 0)
            idata = context.getImageData(0, 0, myimage.width, myimage.height)
    
            for (y = 0 ; y < myimage.height ; ++y)
            {
              for (x = 0 ; x < myimage.width ; ++x)
              {
                pos     = y * myimage.width * 4 + x * 4
                average =
                (
                  idata.data[pos]     +
                  idata.data[pos + 1] +
                  idata.data[pos + 2]
                ) / 3
    
                idata.data[pos]     = average + 50
                idata.data[pos + 1] = average
                idata.data[pos + 2] = average - 50
              }
            }
            context.putImageData(idata, 320, 0)
          }
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Adding Shadows</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='480' height='190'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
    
          myimage     = new Image()
          myimage.src = 'apple.png'
    
          orig   = 95
          points = 21
          dist   = Math.PI / points * 2
          scale1 = 75
          scale2 = 50
    
          myimage.onload = function()
          {
            context.beginPath()
    
            for (j = 0 ; j < points ; ++j)
            {
              x = Math.sin(j * dist)
              y = Math.cos(j * dist)
              context.lineTo(orig + x * scale1, orig + y * scale1)
              context.lineTo(orig + x * scale2, orig + y * scale2)
            }
    
            context.closePath()
    
            context.shadowOffsetX = 5
            context.shadowOffsetY = 5
            context.shadowBlur    = 6
            context.shadowColor   = '#444'
            context.fillStyle     = 'red'
            context.stroke()
            context.fill()
    
            context.shadowOffsetX = 2
            context.shadowOffsetY = 2
            context.shadowBlur    = 3
            context.shadowColor   = 'yellow'
            context.font          = 'bold 36pt Times'
            context.textBaseline  = 'top'
            context.fillStyle     = 'green'
            context.fillText('Sale now on!', 200, 5)
    
            context.shadowOffsetX = 3
            context.shadowOffsetY = 3
            context.shadowBlur    = 5
            context.shadowColor   = 'black'
            context.drawImage(myimage, 245, 45)
          }
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Drawing Images</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='480' height='260'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
    
          myimage     = new Image()
          myimage.src = 'image.png'
    
          myimage.onload = function()
          {
            context.drawImage(myimage,                 20,  20          )
            context.drawImage(myimage,                140,  20, 220, 220)
            context.drawImage(myimage,                380,  20,  80, 220)
            context.drawImage(myimage, 30, 30, 40, 40, 20, 140, 100, 100)
    
            // Example of using a canvas as an image source
            context.drawImage(canvas, 0, 0, 480, 260,  20, 140, 100, 100)
          }
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Bezier Curves</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='480' height='240'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
    
          context.beginPath()
          context.moveTo(240, 20)
          context.bezierCurveTo(720, 480, -240, -240, 240, 220)
          context.stroke()
          context.closePath()
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>Quadratic Curves</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='480' height='240'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
    
          context.beginPath()
          context.moveTo(180, 60)
          context.quadraticCurveTo(240,   0, 300,  60)
          context.quadraticCurveTo(460,  30, 420, 100)
          context.quadraticCurveTo(480, 210, 340, 170)
          context.quadraticCurveTo(240, 240, 200, 170)
          context.quadraticCurveTo(100, 200, 140, 130)
          context.quadraticCurveTo( 40,  40, 180,  60)
          context.fillStyle = 'white'
          context.fill()
          context.closePath()
    
          // Illustrate the attractor points
          // IE, Chrome, Opera only
    
          // context.beginPath()
          // context.moveTo(240,   0)
          // context.lineTo(460,  30)
          // context.lineTo(480, 210)
          // context.lineTo(240, 240)
          // context.lineTo(100, 200)
          // context.lineTo( 40,  40)
          // context.closePath()
          // context.setLineDash([2,3])
          // context.strokeStyle = 'green'
          // context.stroke()
         
        </script>
      </body>
    </html>
    <!DOCTYPE html>
    <html>
      <head>
        <title>The arcTo Method</title>
        <script src='OSC.js'></script>
      </head>
      <body>
        <canvas id='mycanvas' width='480' height='240'></canvas>
    
        <script>
          canvas               = O('mycanvas')
          context              = canvas.getContext('2d')
          S(canvas).background = 'lightblue'
          context.strokeStyle  = 'blue'
    
          for (j = 0 ; j <= 280 ; j += 40)
          {
            context.beginPath()
            context.moveTo( 20, 20)
            context.arcTo(240, 240, 460, 20, j)
            context.lineTo(460, 20)
            context.stroke()
            context.closePath()
          }    
        </script>
      </body>
    </html>
  • 相关阅读:
    Codeforces Round #397 (Div. 1 + Div. 2 combined) D. Artsem and Saunders 构造
    Codeforces Round #393 (Div. 2) D. Travel Card DP
    Codeforces Round #395 (Div. 2) D. Timofey and rectangles 思维题
    Codeforces Round #396 (Div. 2) E. Mahmoud and a xor trip 二进制拆位+树型dp
    Codeforces Round #396 (Div. 2) D. Mahmoud and a Dictionary 并查集
    Codeforces Round #395 (Div. 2) C. Timofey and a tree 树
    Codeforces Round #394 (Div. 2) E. Dasha and Puzzle DFS
    upper_bound & lower_bound
    【转】立方体的体对角线穿过多少个正方体?
    Codeforces Round #353 (Div. 2) D. Tree Construction 树
  • 原文地址:https://www.cnblogs.com/tszr/p/12383042.html
Copyright © 2020-2023  润新知