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.0394 sec