hml 파일을 xml파일로 파싱했을때
이미지파일이 base64로 파싱되는데 여기서 bmp 확장자인 이미지는 제대로 변환이 안되는것 같습니다.
hml 파일을 자바단에서 이미지만 추출해서 사용하는데 base64로 변환된걸 byte 로 바꾸고 다시 ImageIO.read를 사용해서 가공하는 순서입니다.
jpg는 문제없이 잘 변환되는데 bmp파일만 오류가 발생하네요.
그래서 hml을 xml로 열었을때의 이미지가 base64로 변환된걸 가지고 base64 디코더를 사용해서 확인해봤는데 변환이 되지 않습니다. 또 동일한 이미지를 base64 인코더로 인코딩후 다른 디코더로 변환했을때는 문제없이 변환되는 상황입니다.
여러가지로 테스트 해보았을때 hml 파일이 xml로 파싱될때 이미지 확장자가 bmp인 경우 해당 문제가 발생하는것 같은데 따로 해결할 수 있는 방법이 있을까요?
ch1
6월 13, 2023, 12:38오전
3
해결 방법이 없는걸까요??? hml파일에서 bmp 이미지 자체가 깨지는것 같은데 ㅠㅠ
love
6월 13, 2023, 1:18오전
4
안녕하세요~
혹시나 방법이 있을지 확인중에 있습니다.
방법을 찾으면 공유 드리겠습니다.
ch1
6월 13, 2023, 5:31오전
5
지금까지 확인한 결과로는 한글 버전이 위와 같이 업그레이드 되면서 이런식으로 compress 사용하는 데는 자체적으로 base64를 압축을 해주는것같은데 압축된 base64를 따로 디코딩하는 방법이나 그냥 hml파일을 만들 때 압축이 안되게 설정할 수 있는 방법이 있을까요?
ch1
6월 13, 2023, 8:10오전
6
여기를 보면 zlib을 사용해서 압축해주는데 혹시 hml이 만들어질때 그림을 압축한 후 base64로 만드는걸까요 base64로 만든 후에 압축하는걸까요?
love
6월 14, 2023, 2:08오전
7
안녕하세요.
확인해보니 hml필터에서는 jpg, png, gif인 경우에는 압축을 하지 않고 base64로 인코딩을 하며
bmp확장자인 경우에는 압축을 한 뒤에 base64로 인코딩을 하는 것으로 확인하였습니다.
그래서 디코딩시후 압축을 풀어 주셔야 할 것 같습니다.
ch1
6월 14, 2023, 7:08오전
8
디코딩하고 압축해제 하는 방식으로 해결했습니다. 답변 감사합니다~
안녕하세요.
디코딩 후에 압축을 풀려고 해도 압축파일이 아닌 것으로 나옵니다.
hml에 있는 bmp 파일에 대한 bindata를 base64 디코딩 후
압축 해제는 어떻게 하셨는지 알 수 있을까요?
ch1
2월 25, 2025, 1:27오전
10
안녕하세요.
저는 우선 base64를 byte 로 변환해준 후 Inflater를 이용하여 압축해제를 진행하였습니다.
1개의 좋아요
jpg나 png는 base64 디코딩 후에 그림 파일로 잘 불러와 지는데…
bmp 파일은 base64 디코딩 후에 어떤 파일인지 알 수가 없더라구요.
답변 감사합니다. 잘 참고 하겠습니다.^^