목록분류 전체보기 (314)
민프
여행기 정보를 PDF로 옮길때 텍스트 부분을 canvas.drawText를 이용해서 그려줬는데 밑 사진 처럼 MultiLine이 되지 않고 가로로 쭉~ 이어져서 모든 내용을 볼 수가 없었다.. 글자가 전체 Layout의 폭을 넘어갈때 자동으로 밑으로 넘겨주는 것을 찾아보았는데 안드로이드에서 기본으로 제공하고 있는 StaticLayout이 있었다~(역시 구글링..) StaticLayout을 이용하기 위해 API 24 부터는 Builder을 이용한 생성자방식을 사용하여야 한다. String get_memo = pdf_root_text_memo.getText().toString(); title_paint.setTextAlign(Paint.Align.CENTER); title_paint.setTypeface(T..
저번 포스트에는 https://minf.tistory.com/4 [Android] 여러 페이지의 PDF 로 만들어보자(PdfDocument, Paint, Canvas, 레이아웃 캡쳐) 현재 여행 다이어리 관련 어플을 만들고 있는데 내가 만든 여행기의 여행 루트, 사진, 메모 등을 여행 루트당 정보를 한 페이지의 PDF로 만들어 보려고 한다. 사용되는 주요 클래스로는 PdfDocument, minf.tistory.com 하드 코딩으로 텍스트, 이미지를 넣어서 한 페이지의 PDF를 구현해보았는데 이번에는 DB에 있는 내용을 가지고 와서(밑 사진 참고) 한 게시물에 있는 여행 루트의 개수 만큼 PDF를 만들어보자!! 내가 생각한 작업 진행 방법으로는 dataList 0번 아이템만 가지고 와서 1장 만들어보기 ..
현재 여행 다이어리 관련 어플을 만들고 있는데 내가 만든 여행기의 여행 루트, 사진, 메모 등을 여행 루트당 정보를 한 페이지의 PDF로 만들어 보려고 한다. 사용되는 주요 클래스로는 PdfDocument, Canvas , Paint이다. 내가 생각한 진행으로는 2가지가 있다. 1. 여행기 루트 정보 -> 레이아웃에 정보 넣기 -> 레이아웃을 Bitmap으로 캡쳐 -> Bitmap을 Canvas에 넣고 -> PDF로 생성 (계단현상 발생) 2. 여행기 루트 정보 -> 텍스트는 canvas.drawText, 이미지는 canvas.drawBitmap 으로 그려주기 -> PDF 생성 (Text MulitLine 문제 => StaticLayout으로 해결) * 1번 방법에 대한 문제점: 캡쳐를 하는 것 이기 때..
public Bitmap resizeBitmapImageFn(Bitmap bmpSource, int maxResolution){ int iWidth = bmpSource.getWidth(); //비트맵이미지의 넓이 int iHeight = bmpSource.getHeight(); //비트맵이미지의 높이 int newWidth = iWidth ; //새로운 비트맵 이미지의 넓이 int newHeight = iHeight ;//새로운 비트맵 이미지의 높이 float rate = 0.0f; //이미지의 가로 세로 비율에 맞게 조절 if(iWidth > iHeight ){ if(maxResolution < iWidth ){ rate = maxResolution / (float) iWidth ; newHeight..