Skip to content

ImageEditor 2.0.0 Migration guide

์œ ๋™์‹ edited this page May 24, 2017 · 10 revisions

(translating)

์ด๋ฏธ์ง€ ์—๋””ํ„ฐ๊ฐ€ 2.0.0์œผ๋กœ ์—…๋ฐ์ดํŠธ ๋˜๋ฉด์„œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๊ณ  API๊ฐ€ ํ†ตํํ•ฉ๋˜๋ฉด์„œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์œ„ํ•œ ๊ฐ€์ด๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

๊ธฐ๋Šฅ ์ถ”๊ฐ€

  • ์ด๋ฏธ์ง€ ํ•„ํ„ฐ ์ถ”๊ฐ€
    • ํ•„ํ„ฐ ์ข…๋ฅ˜
      • grayscale, invert, sepia, sepia, blur, sharpen, emboss, removeWhite, brightness, noise, gradientTransparency, pixelate, tint, multiply, blend, colorFilter
    • ๊ด€๋ จ API ๋ชฉ๋ก
      • applyFilter, removeFilter, hasFilter

API ๋ณ€๊ฒฝ ๋‚ด์šฉ

  • Drawing Mode ์ „ํ™˜

    • ์ƒˆ๋กœ์šด API

      • startDrawingMode
      • stopDrawingMode
      • getDrawingMode
    • ์‚ญ์ œ๋œ API

      • startCropping, endCropping
      • startDrawingShapeMode, endDrawingShapeMode
      • startFreeDrawing, endFreeDrawing
      • startLineDrawing, endLineDrawing
      • startTextMode, endTextMode
      • endAll
      • endCropping ์€ ์•„๋ž˜์˜ ์„ธ API๋กœ ๋ถ„๋ฆฌ๋œ๋‹ค.
        • getCropzoneRect()
        • crop(rect)
        • stopDrawingMode()
  • ๋ณ€๊ฒฝ๋œ API

    • removeActiveObject() ==> removeObject(id)
  • Promise API ์ง€์›

    • Drawing ์ž‘์—…์— ๊ด€๋ จ๋œ API๋Š” Promise๋ฅผ ์ง€์›ํ•˜์—ฌ ๋น„๋™๊ธฐ๋กœ ๋™์ž‘ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Undo/Redo ์ง€์› ๋ชฉ๋ก์— ํฌํ•จ๋œ๋‹ค.
    • ๊ด€๋ จ API ๋ชฉ๋ก
      • addIcon, addImageObject, addShape, changeIconColor, changeShape, addText, changeText, changeTextStyle, resizeCanvasDimension, applyFilter, removeFilter, clearObjects, flipX, flipY, loadImageFromFile, loadImageFromURL, redo, undo, removeObject, resetFlip, rotate, setAngle, crop, setObjectPosition, setObjectProperties
  • Object ํ”„๋กœํผํ‹ฐ ์„ค์ •

    • ์ƒˆ๋กœ์šด API
      • setObjectProperties - Object์˜ width, height, opacity ๊ฐ’์„ ๋ณ€๊ฒฝ
      • getObjectProperties - Object์˜ width, height, opacityย ๊ฐ’์„ ๋ฐ˜ํ™˜
      • setObjectPosition - Object์˜ ์œ„์น˜๋ฅผ ์ด๋™(ex> {x:0, y: 0, originX: 'left', originY: 'top'})
      • getObjectPosition - Object์˜ ์œ„์น˜๋ฅผ origin์— ๋”ฐ๋ผ ๋ฐ˜ํ™˜
      • getCanvasSize - canvas์˜ ํฌ๊ธฐ๋ฅผ ๋ฐ˜ํ™˜({width: number, height: number})
  • APIํŒŒ๋ผ๋ฏธํ„ฐ์— Object Id ์ถ”๊ฐ€

    • ์ด์ „์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•œ Object(== active object)๋ฅผ ๋Œ€์ƒ์œผ๋กœ API๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋ณ€๊ฒฝ๋œ API์—์„œ๋Š” Object Id๋ฅผ ์ „๋‹ฌ ๋ฐ›์•„์„œ ์‚ฌ์šฉ์ž ์„ ํƒ๊ณผ ๋ฌด๊ด€ํ•˜๊ฒŒ Object๋ฅผ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค.
    • Object Id๋ฅผ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•์€ Promise.then() ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ.id์™€ ์ด๋ฒคํŠธ ์ฝœ๋ฐฑ์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ.id๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๊ทธ ์™ธ ๊ธฐ๋Šฅ ๋ณ€๊ฒฝ ๋ฐ ๋ฒ„๊ทธ ์ˆ˜์ •

    • ์ฝœ๋ฐฑํ•จ์ˆ˜ ๋‚ด์—์„œ API๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ

์ด๋ฒคํŠธ ๋ณ€๊ฒฝ ๋‚ด์—ญ

As-Is To-Be ๋ณ€๊ฒฝ ์ด์œ 
activateText addText ์ด๋ฆ„ ๋ณ€๊ฒฝ 'TEXT' ๋ชจ๋“œ์—์„œ mousedown์ด ์™”์„ ๊ฒฝ์šฐ ๋ฐœ์ƒ
๋ณดํ†ต ์ด๋ฒคํŠธ๋ฅผ ๋ฐ›์•„ addText()๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
addObject N/A ์ œ๊ฑฐ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒฝ์šฐ์ธ๋ฐ, ํ•„์š”์„ฑ์ด ์—†์–ด ์ œ๊ฑฐ๋จ
adjustObject objectMoved
objectScaled
์ด๋ฆ„ ๋ฐ ๊ธฐ๋Šฅ ๋ณ€๊ฒฝ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ์Šค์ผ€์ผ๊ฐ’์ด ๋ณ€๊ฒฝ๋œ ๊ฒฝ์šฐ ๋ฐœ์ƒ
applyFilter N/A ์ œ๊ฑฐ applyFilter() API์˜ Promise.then()์œผ๋กœ ๋Œ€์ฒด
clearImage N/A ์ œ๊ฑฐ loadImageFromFile(), loadImageFromURL() API์˜ Promise.then()์œผ๋กœ ๋Œ€์ฒด
clearObjects N/A ์ œ๊ฑฐ clearObjects() API์˜ Promise.then()์œผ๋กœ ๋Œ€์ฒด
editText textEditing ์ด๋ฆ„ ๋ณ€๊ฒฝ ํ…์ŠคํŠธ ์ž…๋ ฅ์ด ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ ๋ฐœ์ƒ
emptyRedoStack redoStackChanged ์ด๋ฆ„ ๋ฐ ๊ธฐ๋Šฅ ๋ณ€๊ฒฝ redoStack์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ ์Šคํƒ ๊ฐฏ์ˆ˜๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.
emptyUndoStack undoStackChanged ์ด๋ฆ„ ๋ฐ ๊ธฐ๋Šฅ ๋ณ€๊ฒฝ undoStack์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ ์Šคํƒ ๊ฐฏ์ˆ˜๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.
endCropping N/A ์ œ๊ฑฐ ์ƒํƒœ ๋ชจ๋“œ ๋ณ€๊ฒฝ์€ ์ด๋ฒคํŠธ ํ•„์š” ์—†์Œ.
endFreeDrawing N/A ์ œ๊ฑฐ ์ƒํƒœ ๋ชจ๋“œ ๋ณ€๊ฒฝ์€ ์ด๋ฒคํŠธ ํ•„์š” ์—†์Œ.
endLineDrawing N/A ์ œ๊ฑฐ ์ƒํƒœ ๋ชจ๋“œ ๋ณ€๊ฒฝ์€ ์ด๋ฒคํŠธ ํ•„์š” ์—†์Œ.
flipImage N/A ์ œ๊ฑฐ flipX(), flipY() API์˜ Promise.then()์œผ๋กœ ๋Œ€์ฒด
loadImage N/A ์ œ๊ฑฐ loadImageFromFile(), loadImageFromURL() API์˜ Promise.then()์œผ๋กœ ๋Œ€์ฒด
mousedown mousedown ์œ ์ง€
pushRedoStack redoStackChanged ์ด๋ฆ„ ๋ฐ ๊ธฐ๋Šฅ ๋ณ€๊ฒฝ redoStack์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ ์Šคํƒ ๊ฐฏ์ˆ˜๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.
pushUndoStack undoStackChanged ์ด๋ฆ„ ๋ฐ ๊ธฐ๋Šฅ ๋ณ€๊ฒฝ undoStack์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ ์Šคํƒ ๊ฐฏ์ˆ˜๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.
removeObject N/A ์ œ๊ฑฐ removeObject()API์˜ Promise.then()์œผ๋กœ ๋Œ€์ฒด
rotateImage N/A ์ œ๊ฑฐ rotate(), setAngle() API์˜ Promise.then()์œผ๋กœ ๋Œ€์ฒด
selectObject objectActivated ์ด๋ฆ„ ๋ฐ ๊ธฐ๋Šฅ ๋ณ€๊ฒฝ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์„ ํƒ๋œ ๊ฒฝ์šฐ, activateText์—์„œ ์ฃผ๋˜ ํ…์ŠคํŠธ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ
์—ฌ๊ธฐ์—์„œ ์ „๋‹ฌํ•œ๋‹ค.ex> params.text, params.fontSize
startCropping N/A ์ œ๊ฑฐ ์ƒํƒœ ๋ชจ๋“œ ๋ณ€๊ฒฝ์€ ์ด๋ฒคํŠธ ํ•„์š” ์—†์Œ.
startFreeDrawing N/A ์ œ๊ฑฐ ์ƒํƒœ ๋ชจ๋“œ ๋ณ€๊ฒฝ์€ ์ด๋ฒคํŠธ ํ•„์š” ์—†์Œ.
startLineDrawing N/A ์ œ๊ฑฐ ์ƒํƒœ ๋ชจ๋“œ ๋ณ€๊ฒฝ์€ ์ด๋ฒคํŠธ ํ•„์š” ์—†์Œ.

ํ•ด๊ฒฐ๋œ ์ด์Šˆ

Clone this wiki locally