2012-09-10 2 views
2

QRcode를 디코딩하기 위해 Google App Engine (GAE) Java 앱을 작성하려고합니다. 내 앱 사용자는 디코딩하려는 QR 코드가 포함 된 이미지로 앱에 이메일을 보내고 GAE 앱은 디코딩 된 정보로 답장을 보냅니다. 나는 이것에 zxing library을 사용할 계획이었다.Google App Engine의 QRcode 디코더

현재 이메일에 첨부 파일로 제공된 이미지를 추출 할 수 있습니다. 하지만 이제 zxing을 사용하려면 GAE 허용 목록의 일부가 아닌 imageIO 및 BufferedImage 클래스가 필요합니다. 그래서 나는 붙어있다. QRcode를 디코딩 할 수있는 방법을 알아내는 데 도움이 될 수 있습니까?

답변

2

Google은 working with images on GAE에 대해 자체 API를 제공합니다. javax.imageio.* 대신이 API를 사용해야합니다. 또는 이러한 클래스를 사용하는 라이브러리이기 때문에 GAE 클래스로 작업하거나 다른 라이브러리로 전환하거나 직접 작성하도록 라이브러리의 소스 코드를 수정해야합니다. 도서관이 얼마나 많이 의존하고 있는지에 따라 꽤 큰 일이 될 수 있습니다. javax.imageio.*.

편집 : 아마도 zxing의 web-based decoder을 사용하도록 코드를 리팩토링 할 수 있습니까? 이는 GAE 이미지 API를 사용하도록 라이브러리를 수정하는 것보다 간단 할 수 있습니다.

+0

예,이 API가 이미지 데이터를 ARGB 형식으로 돌려 주면 ('byte []'를 반환하는 메서드가 이것을 처리하는지 알 수 없습니다) 그러면 'RGBLuminanceSource'를 사용하기 위해 몇 줄만 변경하면됩니다. . –

+0

@SeanOwen & aroth : 고마워요! 전에 언급했듯이 이미지를 이메일 첨부 파일로 보내고 있습니다. 그래서 MimeMessage에서 이미지를 추출하면 base64로 인코딩 된 형식으로 표시됩니다. base64로 인코딩 된 데이터를 실제 이미지 (PNG 또는 JPG) 또는 ARGB 형식으로 변환하는 데 문제가 있습니다. 너희들 도와 줄래 : 나는 [여기에 대한 질문] 제기했다 (http://stackoverflow.com/questions/12375806/decoding-base64-image-received-as-email-on-google-app-engine) – mabicha