캔버스에 선택한 이미지를 간단히로드하는 응용 프로그램을 만들고 싶습니다. 사용자가 이미지의 텍스트 위의 텍스트를 오버레이하여 이미지 위에 올릴 수 있습니다. . 즉 이미지 위에 텍스트를 오버레이 한 후에 텍스트를 이동하고 텍스트를 편집 할 수 있어야합니다. 어떻게 달성 할 수 있습니다. 프레임 레이아웃을로드 한 다음 텍스트 오버레이를 가져 오기 위해 텍스트보기를 동적으로 배치해야하거나 다른 작업을 수행 할 수 있어야합니다. 아래와 같은 그림을 얻고 싶습니다. "텍스트 추가"를 작업 표시 줄에서 클릭하면 사용자가로드 한 그림에 텍스트를 추가하려고합니다. 검색 량은 많았지 만 답변을 얻지 못했습니다. 난 그냥 이미지에이 텍스트를 가져 와서 그림의 아무 곳으로나 옮기고 싶습니다. 또한 장치에 저장 될 최종 이미지는 텍스트가 이미지 위에 겹쳐서 표시됩니다. 그림에 나타나는 상자가 이미지에 나타나서는 안됩니다. 모든 전문가들이 나를 안내 해주고 있습니다.캔버스에 그림을 올리고 그림에 오버레이 텍스트를 넣고 저장하십시오.
1
A
답변
1
FrameLayout에 ImageView 및 EditText를 추가 한 다음 EditText가 이미지 위에 겹쳐집니다. To drag는 OnTouchListner을 설정해야 볼 :
mEditText.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
final int action = event.getAction();
mLastTouchX = event.getRawX();
mLastTouchY = event.getRawY();
switch (action) {
case MotionEvent.ACTION_DOWN: {
RelativeLayout.LayoutParams lParams = (RelativeLayout.LayoutParams) getLayoutParams();
mDeltaX = mLastTouchX - lParams.leftMargin;
mDeltaY = mLastTouchY - lParams.topMargin;
break;
}
case MotionEvent.ACTION_MOVE: {
mLastTouchX = event.getRawX();
mLastTouchY = event.getRawY();
final RelativeLayout.LayoutParams params = (LayoutParams) getLayoutParams();
params.leftMargin = (int) (mLastTouchX - mDeltaX);
params.topMargin = (int) (mLastTouchY - mDeltaY);
setLayoutParams(params);
break;
}
}
invalidate();
return true;
}
});
당신이 당신의 원본 이미지와 텍스트 캔버스에 그릴 수 있습니다 최종 이미지를 만들 수 있습니다.
업데이트 : 당신은 addView로보기를 추가 할 수 있습니다
final EditText et = new EditText(getContext());
et.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
mFramLayout.addView(et);
은 또한 그것은 여백 위치를 조정하는 것이 가능하다.
관련 문제
- 1. 그림을 그림에 추가하여 R
- 2. MigraDoc 그림을 그림에 붙이십시오.
- 3. 캔버스에 그림을 그리려면
- 4. 캔버스에 그렸던 그림에 이벤트를 할당하십시오.
- 5. 다른 그림에 그림을 추가하는 방법
- 6. Android : 캔버스에 그림을 그립니다.
- 7. 오버레이 일시적으로 캔버스에 그림
- 8. 캔버스에 이미지 오버레이
- 9. 그림을 Access Form에 업로드하되 데이터베이스 외부에 그림을 저장하십시오.
- 10. 잘린 그림을 Matlab에 저장하십시오.
- 11. 그림을 그리지 않고 그림을 그려서 저장하십시오.
- 12. HTML 페이지의 그림에 색상 오버레이 적용
- 13. 캔버스에 여러 텍스트를 그리는 방법
- 14. JComponent의 그림을 Tiff 파일에 저장하십시오.
- 15. MATLAB 그림을 다른 배경색으로 저장하십시오.
- 16. 안드로이드는 그림에 텍스트를 추가하고 저장합니다.
- 17. R에 여러 값을 넣고 목록에 저장하십시오.
- 18. 안드로이드 캔버스에 텍스트를 그리기
- 19. 캔버스에 텍스트를 적절히 그리기
- 20. 캔버스에 텍스트를 추가하는 방법
- 21. createjs를 사용하여 캔버스에 그림을 그릴 때
- 22. 캔버스에 그림을 그릴 때 부모를 채우는 방법
- 23. 텍스트를 coreData에 저장하십시오.
- 24. 이미지를 그림에 그려 저장하는 방법
- 25. 그림에 문자를 쓰면서 문자를 쓰면서 그림을 그릴 수 있습니다.
- 26. 캔버스에 이미지를 오버레이 할 수 있습니까?
- 27. 텍스트 색은보기 캔버스에 텍스트를 그리기
- 28. 회전 캔버스에 정적 텍스트를 그리기
- 29. 기본 텍스트를 사용하여 캔버스에 그리기
- 30. fabric.js를 사용하여 캔버스에 텍스트를 그립니다.
어떻게 편집 텍스트를 동적으로 추가하여 사용자가 원하는만큼 텍스트를 그림에 추가 할 수 있습니다. – Mayur
감사합니다. 참조 코드는 내 50 %의 문제를 해결하는 데 도움이되었습니다. 나머지 50 %에서 작동합니다. – Mayur
안녕하세요, Mayur, 답변을 업데이트했습니다. – Bracadabra