U E D R , A S I H C RSS

html5/canvas


1. บ”ฒ„Šค?

  • ๊ทธž˜”ฝ„ žœ กญ๊ฒŒ ๊ทธ ˆ˜ žˆŠ” ˜—ญ.
  • ๊ณ  •œ „“™€ †’.
  • IEฅผ  œ™•œ “  ฃผš” ธŒผšฐ €(?)—„œ ‚ฌšฉ•  ˆ˜ žˆŠ” ๊ธฐŠฅ. IE—„œ ‚ฌšฉ•˜๊ณ  ‹ถœผ Explorer Canvas, uuCanfas.js “ฑ˜ ผธŒŸฌฆฌฅผ ‚ฌšฉ•˜—ฌ  œ•œ  ๊ธฐŠฅœผกœ ‚ฌšฉ•  ˆ˜ žˆ‹ค.

2. ‚ฌšฉ ฐฉ•

<canvas></canvas>
  • canvasœ„— ๊ทธฆผ„ ๊ทธฆฌ ค Javascriptกœ ๊ทธฆฌ๊ธฐ …ŠคŠธฅผ ƒ„ฑ•••œ‹ค.

    • var canvas = document.getElementById(๊ฐ€ ธ˜ค๊ณ  ‹ถ€ canvas˜ id);
      var context = canvax.getContext("2d");
      
    • ๊ทธฆฌ๊ธฐ …ŠคŠธŠ” ๊ทธž˜”ฝ„ ๊ทธฆฌŠ” ฐ „›€ ˜Š” ฉ”„œ“œฅผ  œ๊ณต•œ‹ค.

2.1. ‚ฌ๊ฐ˜• ๊ทธฆฌ๊ธฐ

  • œค๊ณฝ žˆŠ” ‚ฌ๊ฐ˜•„ ๊ทธ ˆ˜ žˆ‹ค.
  • ƒ‰œผกœ ฑ„š ‚ฌ๊ฐ˜•„ ๊ทธ ˆ˜ žˆ‹ค.
  • ‚ฌ๊ฐ˜•„ €šธ ˆ˜ žˆ‹ค.

2.2. ฏธ€ ‚ฝž…

  • img š”†Œ, video š”†Œ, canvas š”†Œ˜ DOM ๊ฐฅผ ๊ทธ ˆ˜ žˆ‹ค.
    • img š”†Œ˜ DOM ๊ฐŠ” Image ƒ„ฑžฅผ ‚ฌšฉ•˜—ฌ งŒ“ค ˆ˜„ žˆ‹ค.
    • video š”†Œ˜ DOM ๊ฐฅผ ‚ฌšฉ•  ๊ฒฝšฐ drawImage()ฅผ ˜ธถœ•œ ‹œ —„œ žฌƒ˜Š” ”„ ˆž„„ ๊ทธ ค€‹ค.
  • ฏธ€ฅผ ›ž˜ ฌ๊ธฐกœ ‚ฝž…•  ˆ˜ žˆ‹ค.
  • ฏธ€˜ ‚ฌฆˆฅผ € ••˜—ฌ ‚ฝž…•  ˆ˜ žˆ‹ค.
  • ›ž˜ ฏธ€—„œ ผ€ถ„„ ž˜ผ‚– ‚ฝž…•  ˆ˜ žˆ‹ค.
  • (๊ทธฆผ ‚ฝž…)

2.3. ณตžก•œ „ ‚˜ „˜• ๊ทธฆฌ๊ธฐ

  • ŒจŠค
    • บ”ฒ„Šค˜ APIฅผ šฉ•˜—ฌ ๊ทธ คง„ „ “ค˜ ง‘•ฉ.
    • „œธŒ ŒจŠค
      • ŒจŠคฅผ ๊ตฌ„ฑ•˜Š” •˜‚˜•˜‚˜˜ „ .
      • (๊ทธฆผ ‚ฝž…)
    • ๊ทธฆฌ๊ธฐ …ŠคŠธ๊ฐ€  œ๊ณต•˜Š” APIฅผ šฉ•˜—ฌ ง„ , ฒ €— ๊ณก„ , ›˜ธ “ฑ ‹ค–‘•œ ŒจŠคฅผ ๊ทธ ˆ˜ žˆ‹ค.
  • ŒจŠคฅผ ๊ทธ ค ๊ทธž˜”ฝ„ ‘œ‹œ•˜Š” ˆœ„œ
    1. beginPath()กœ ๊ทธฆฌ๊ธฐ ‹œž‘.
      • ๊ทธ  „— ๊ทธ ธ˜ ŒจŠคŠ” ‘ ฆฌ…‹œ‹ค.
    2. บ”ฒ„Šค˜ APIฅผ šฉ•˜—ฌ ŒจŠค ๊ทธฆฌ๊ธฐ.
      • —ฌ๊ธฐ„œ ๊ทธฆฐ ŒจŠคŠ” •„ง ๊ทธž˜”ฝœผกœ ‘œ‹œ˜€ •ŠŒ.
    3. ๊ทธž˜”ฝ„ ™”— ‘œ‹œ.
      • stroke()
        • ŒจŠคฅผ „ œผกœ ‘œ˜„•œ‹ค.
        • „ ˜ Šคƒ€ผ€ strokeStyle †„ฑœผกœ € ••œ‹ค.
      • fill()
        • ŒจŠค ‚€ฅผ ฑ„š‹ค.
        • ˜ธถœ‹œ ŒจŠค๊ฐ€ ‹ซžˆ€ •Š•˜”ผ„ ž™œผกœ ‹ซžŒ ƒƒœกœ งŒ“ ‹ค.
        • ‚€ Šคƒ€ผ€ fillStyle †„ฑœผกœ € ••œ‹ค.
      • clip()
        • ŒจŠค˜ ‚€ฅผ ฆฌ•‘ ˜—ญœผกœ € ••œ‹ค.
        • ฆฌ•‘ ˜—ญ žˆŠ” ƒƒœ—„œ บ”ฒ„Šค— ๊ทธ ค€Š” ๊ทธž˜”ฝ€ ฆฌ•‘ ˜—ญ •ˆ—งŒ ‘œ‹œœ‹ค.
        • beginPath()ฅผ ˜ธถœ•˜—ฌ ฆฌ•‘ ˜—ญ„ • œ•  ˆ˜ žˆ‹ค.
        • (๊ทธฆผ ‚ฝž…)

2.4. Šคƒ€ผ € •

  • strokeStyle
    • stroke(), strokeRect() “ฑ„ šฉ•˜—ฌ ๊ทธฆฐ „ ˜ ƒ‰‚˜ Šคƒ€ผ„ € ••œ‹ค.
  • fillStyle
    • fill(), fillRect() “ฑ„ šฉ•˜—ฌ ๊ทธฆฐ „ ˜ ƒ‰‚˜ Šคƒ€ผ„ € ••œ‹ค.
  • †„ฑ— € ••  ˆ˜ žˆŠ” ๊ฐ’
    • CSS Color
      • CSS3˜ ƒ‰ € • ฐฉ•„  „€ šฉ•  ˆ˜ žˆ‹ค.
      • •„ ๊ฒƒ„ € ••˜€ •Šœผ #000000(๊ฒ€€ƒ‰) ๊ธฐณธ ๊ฐ’ œ‹ค.
    • CanvasGradient
      • „ ˜• ๊ทธผฐ…˜, ›˜• ๊ทธผฐ…˜„  šฉ•  ˆ˜ žˆ‹ค.
    • CanvasPattern
      • img š”†Œ‚˜ video š”†Œ ˜น€ ‹คฅธ บ”ฒ„Šคฅผ ‚ฌšฉ•˜—ฌ Œจ„„ € ••  ˆ˜ žˆ‹ค.
  • globalAlpha
    • globalAlpha †„ฑ„ šฉ•˜—ฌ ˆฌ…„ฅผ € ••  ˆ˜ žˆ‹ค.
    • †„ฑ ๊ฐ’€ 0.0(™„ „ ˆฌ…)€„ฐ 1.0(ถˆˆฌ…)๊นŒ€˜ ๊ฐ’„ € ••  ˆ˜ žˆ‹ค.

2.4.1. „  Šคƒ€ผ € •

  • „  Šคƒ€ผ
    • „ ˜ ๊ตต๊ธฐ
    • „ ˜  
      • (๊ทธฆผ ‚ฝž…)
    • „ “ค ๊ตฐจ–ˆ„•Œ ƒ๊ธฐŠ” ๊ฐ
      • (๊ทธฆผ ‚ฝž…)

2.5. ๊ทธฆผž šจ๊ณผ

  • ๊ทธฆฌ๊ธฐ …ŠคŠธ๊ฐ€ ๊ฐ€ง„ †„ฑ„ € ••˜—ฌ „ ‚˜ „˜•— ๊ฐ„‹จ•˜๊ฒŒ ๊ทธฆผž šจ๊ณผฅผ ถ”๊ฐ€•  ˆ˜ žˆ‹ค.

2.6. ˜—ญ ๊ฒนน  •Œ˜ ™ž‘

  • globalCompositeOperation
    • ƒˆกœš „˜• ๊ธฐ ฏธ€™€ ๊ฒนน •Œ˜ –‰™„ € ••˜Š” †„ฑ‹ค.
    • ๊ธฐณธ ๊ฐ’€ source-over ‹ค.
    • (๊ทธฆผ ‚ฝž…)

2.7. …ŠคŠธ ‚ฝž…

  • ๊ธ€๊ผ, ฌ๊ธฐ, ๊ฐ€กœ ฐฉ–ฅ  • ฌ œ„น˜, „ธกœ ฐฉ–ฅ  • ฌœ„น˜ฅผ € ••˜—ฌ …ŠคŠธฅผ ‚ฝž…•  ˆ˜ žˆ‹ค.
  • (งฌ)

2.8. ๊ทธž˜”ฝ €˜•

  • ๊ทธฆฌ๊ธฐ …ŠคŠธ˜ ฉ”„œ“œฅผ šฉ•˜—ฌ ขŒ‘œฅผ
    • ™•Œ€, •†Œ
    • šŒ „
    • ™
      •  ˆ˜ žˆ‹ค.
    • ขŒ‘œ €™˜ งคŠธฆญŠค

2.9. ๊ทธฆฌ๊ธฐ …ŠคŠธ ƒƒœ  €žฅ๊ณผ ณต›

  • save()
    • ๊ทธฆฌ๊ธฐ …ŠคŠธ˜ ƒƒœฅผ  €žฅ•œ‹ค.
    • ˜„žฌ บ”ฒ„Šค— ๊ทธ คง„ ๊ทธž˜”ฝ‚˜ ŒจŠคŠ”  €žฅ•˜€ •ŠŠ”‹ค.
    •  €žฅ•˜Š” ƒƒœ ฐ †„ฑ
      • ขŒ‘œ €™˜ งคŠธฆญŠค
      • ฆฌ•‘ ˜—ญ
      • strokeStyle
      • fillStyle
      • globalAlpha
      • lineWidth
      • lineCap
      • lineJoin
      • miterLimit
      • shadowOffsetX
      • shadowOffsetY
      • shadowBlur
      • shadowColor
      • globalCompositeOperation
      • font
      • textAlign
      • textBaseline
    • restore()
      • ๊ทธฆฌ๊ธฐ …ŠคŠธ˜ ƒƒœฅผ ณต›•œ‹ค.
      • save()กœ  €žฅ•œ ƒƒœŠ” Šคƒ— Œ“๊ณ  restore()ฅผ ˜ธถœ• •Œงˆ‹ค Šคƒ˜ ƒ‘—„œ€„ฐ ƒƒœฅผ ถˆŸฌ˜จ‹ค.

2.10. ”ฝ…€กœ ๊ทธฆฌ๊ธฐ

  • ImageData˜• ๊ฐฅผ ƒ„ฑ•˜—ฌ บ”ฒ„Šค œ„˜ น„Šธงต ฏธ€ฅผ ”ฝ…€ ‹จœ„กœ กฐž‘•  ˆ˜ žˆ‹ค.
  • ImageData˜ †„ฑ
    • width
    • height
    • data
      • ”ฝ…€ ฐ„ฐฅผ ‚˜ƒ€‚Š” ˆซž(0~255)กœ ฃจ–ง„ 1ฐจ› ฐฐ—.
      • ฐฐ—€ 4๊ฐœ˜ ๊ฐ’ •œฌถŒœผกœ 1”ฝ…€ ๊ฐ€ง„  •(R, G, B, Alpha)ฅผ ‚˜ƒ€‚ธ‹ค.

2.11. ฏธ€ฅผ URLกœ –๊ธฐ

  • บ”ฒ„Šค๊ฐ€ ๊ฐ€ง„ toDataURL()„ ˜ธถœ•˜—ฌ บ”ฒ„Šค ‚šฉ„ URLกœ ––˜ฌ ˆ˜ žˆ‹ค.
  • toDataURL(type)
    • ๊ทธฆฌ๊ธฐ …ŠคŠธ๊ฐ€ •„‹ˆ๊ณ  บ”ฒ„Šค๊ฐ€ ๊ฐ€ง„ ฉ”„œ“œ‹ค.
    • type
      • ฏธ€˜ ธฝ””ฉ ฐฉ•„ MIME ƒ€ž…œผกœ € ••œ‹ค.
      • ๊ธฐณธ๊ฐ’€ 'image/png'‹ค.
      • 'image/jpeg'€ • ‹œ ‘ฒˆงธ ธˆ˜กœ ˆซž(0.0~1.0)ฅผ „ฃ– ฏธ€˜ ’ˆงˆ„ € ••  ˆ˜ žˆ‹ค.

2.12. • ‹ˆฉ”…˜

  • ผ • ๊ฐ„๊ฒฉœผกœ บ”ฒ„Šค  „ฅผ ‹ค‹œ ๊ทธฆฌŠ” ฐฉ•œผกœ • ‹ˆฉ”…˜„ ๊ตฌ˜„•  ˆ˜ žˆ‹ค.

3. ˜ˆ œ


4. ฐธ๊ณ  žฃŒ

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:41
Processing time 0.0323 sec