Notice
Link
- Today
- Total
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- CSS
- Activity 전체화면
- 코드로 서버 재실행
- CentOS
- view 획득
- vc++
- 텍스트컬러
- MariaDB
- c언어
- reactnative
- sql exception
- 말줌임 CSS
- kill -9
- MFC
- 피쉬랜드
- ffmpeg
- springboot
- SQL 첫날
- 가변영역 스크롤
- SQL 마지막날
- 파티션 빠른 삭제
- Back 키 클릭 감지
- springboot 재가동
- 터치좌표 view
- DB 계정생성
- mybatis exception
- rn
- 스크롤적용
- pid 찾아 kill
- MySQL
Archives
개발은 하는건가..
파일 사이즈가 큰 Gif 파일에서 Preview 용 Bmp 추출하기 본문
반응형
Gif 에서 Bitmap 추출이 필요할 때 BitmapFactory 로는 10~30MB 에 달하는 에니메이션 GIF 파일은 Decoding 이 되지 않았습니다.
물론 Glide 같은 라이브러리 써도 됩니다만 그건 상황에 따라 다르니..
암튼 누군가 친절하게 만들어논 GifDecoder 클래스를 이용해서 아래와 같이 했더니 Bitmap 이 잘 추출되었습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | private Bitmap getGifPreviewFrame(File f) { if (f == null || f.exists() == false || f.length() < 32) { return null; } GifDecoder gd = new GifDecoder(); Bitmap bmp = null; FileInputStream fis = null; try { fis = new FileInputStream(f); if (fis != null) { if (gd.read(fis, fis.available()) == 0) { final int frameCount = gd.getFrameCount(); if (frameCount > 0) { gd.advance(); bmp = Bitmap.createBitmap(gd.getNextFrame()); } } } } catch (IOException ie) { ie.printStackTrace(); } catch(Exception e) { e.printStackTrace(); } finally { if (fis != null) { try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } } gd = null; System.gc(); return bmp; } | cs |
'Java, Android' 카테고리의 다른 글
Android ListView Divider 없에기 (0) | 2022.06.15 |
---|---|
Android 애니메이션 drawable (0) | 2022.06.14 |
[Java] DB 에서 BLOB (바이너리 데이터) 읽어오기 (0) | 2022.03.08 |
카메라 영상 동영상 파일로 저장 (0) | 2018.11.06 |
컬러 이모지 아이콘이 지원되지 않는 4.x 버젼 이하에서 이모지 지원하기 (0) | 2018.11.02 |
Comments