이번에는 이 프로젝트에서 사용중인 git 브랜치 전략과 지난번 이후에 구현한 기능들에 대해서 정리하려 합니다.
저는 git-flow 전략을 참고하여, master, develop, feature 브랜치만을 운영하기로 하였습니다.
브랜치 전략을 체험 위한 용도로 구상하였습니다.
새로운 기능 추가
기능 개발 완료
배포 시
SVG는 백터(vector) 이미지를 표현하기 위한 포맷으로 w3c에서 만든 백터 이미지 표준입니다.
svg.js 를 이용해서 작업하였습니다.
Text와 rect를 포함시켰고
rect는 배경색을 넣는 용도로, Text는 사용자가 입력한 항목을 보여주는 용도로 사용하였습니다.
만약 svg의 포함되어야 되는 요소들이 가변이 될 경우는 미리 포함시키지 않고 동적으로 생성하는 방식으로 변경해야 될 것 같습니다.
<svg xmlns=http://www.w3.org/2000/svg xmlns:xlink="http://www.w3.org/1999/xlink"
id="imagePreview" height="200" width="400">
<rect width="100%" height="100%" fill="#ffffff" id="imageBackground" />
<text id="imageText" dominant-baseline="middle" text-anchor="middle">
</text>
This browser doesn't support svg 🙅♂️
</svg>
SVG에서 canvas로 변환하는 과정들은 동일 하기 때문에 convertImageAfterAction함수에서 인자로 callback 함수를 받아서 처리하도록 구현 하였습니다.
function convertImageAfterAction(callback) {
... 생략 ...
img.onload = function () {
ctx.drawImage(img, 0, 0);
DOMURL.revokeObjectURL(url);
callback(canvas);
};
img.src = url;
}
변환, 다운로드, 복사방법은 다음사이트를 참고하였습니다.
클립보드로 복사하는 기능은 아직 master로 머지 하지 않아서 사이트에는 아직 기능이 없습니다.
이제 기능적?으로는 구현을 어느정도 하였기 때문에, 앞으로는 기능보다는 다른쪽에 집중을 하려 합니다.