안드로이드 개발 질문/답변
(글 수 45,052)
사진에 이미지를 붙여서 사이즈 조절, 이동, 삭제가 가능한 스티커 기능을 구현하고자 합니다.
이미 사진편집어플에 많이 나와있는 기능이라 자료들이 많이 있을 것으로 생각했는데
실제로 검색하여 보니 자료가 많이 없군요.
참고할 라이브러리나 예제를 알려주시면 감사하겠습니다. ^^
현재 생각하고 있는 구현방법은 이미지위에 스티커 객체를 frame layout으로 올려서 터치이벤트를 받아 스티커 객체인지를
판단하여 이동을 하거나 사이즈 조절을 할 수 있도록 구현할 예정입니다.
아무래도 처음부터 구현을 하려면 시간이 걸리지않을 수 없기에 라이브러리나 예제를 찾고있는 데 자료가 없네요..




저도 사진꾸미기 어플 요번에 만들었는데... 자료가 정말 없어서 고생좀 했지요 ㅋ
릴리즈 어플의 소스라 드릴수는 없고...
스티커 객체 하나하나가 이미지를 가지고 있다면 300*300 스티커 30개 정도 찍어버리면 OOM으로 죽을겁니다...
어떤 폰은 4개 찍어도 죽어버리는 폰 있었는데 기억이 안나네요... 모토로라꺼 였던거 같은데... 8Mbyte 비트맵 전개되면 푹
그래서 저는 스티커 객체는
drawable resource id
크기값
회전될시 중앙이 될 pivot 값
scale 값
회전 degree 값
편집시 사이즈 조정할 콘트롤 버튼의 위치
등등 정보만 가지고있고
크기나 위치 정보가 변경되면 그때 drawView라는 뷰 객체를 invalidate시키고
뷰 객체의 onDraw에서는 스티커 객체들 정보를 불러와서 canvas에 그려주었습니다.
onDraw에서 스티커 객체의 비트맵을 얻어서 그리는 동작 할때만 bitmap 디코딩해서 쓰고 바로 recycle 시켰구요
바로 canvas위에 그려버렸기 때문에 터치이벤트를 받을 수 없어서
선분교차 알고리즘, 좌표평면 회전각 구하기, 좌표평면의 임의 기준점 좌표 회전 등의 공식을 만들어서 썻구요...
최소한의 비트맵 그리기로 퍼포먼스 올리는 작업만 일주일 정도 한거 같네요...
생각 보다 수학공식이 많이 들어가더라구요...
꼭 멋진 어플 만들어서 구경시켜주세요!!