01: /*
02: * Copyright (C) 2005 - 2008 JasperSoft Corporation. All rights reserved.
03: * http://www.jaspersoft.com.
04: *
05: * Unless you have purchased a commercial license agreement from JasperSoft,
06: * the following license terms apply:
07: *
08: * This program is free software; you can redistribute it and/or modify
09: * it under the terms of the GNU General Public License version 2 as published by
10: * the Free Software Foundation.
11: *
12: * This program is distributed WITHOUT ANY WARRANTY; and without the
13: * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14: * See the GNU General Public License for more details.
15: *
16: * You should have received a copy of the GNU General Public License
17: * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
18: * or write to:
19: *
20: * Free Software Foundation, Inc.,
21: * 59 Temple Place - Suite 330,
22: * Boston, MA USA 02111-1307
23: *
24: *
25: *
26: *
27: * ImageLoader.java
28: *
29: */
30:
31: package it.businesslogic.ireport.util;
32:
33: import org.w3c.tools.codec.Base64Decoder;
34: import java.awt.*;
35: import java.io.*;
36:
37: public class ImageLoader {
38:
39: public static java.awt.Image loadFromBase64String(String imageSource)
40: throws net.sf.jasperreports.engine.JRException {
41: Image _image = null;
42: try {
43:
44: ByteArrayInputStream bais = new ByteArrayInputStream(
45: imageSource.getBytes("UTF-8"));
46: ByteArrayOutputStream baos = new ByteArrayOutputStream();
47:
48: Base64Decoder decoder = new Base64Decoder(bais, baos);
49: decoder.process();
50:
51: _image = Toolkit.getDefaultToolkit().createImage(
52: baos.toByteArray());
53:
54: MediaTracker traker = new MediaTracker(new Panel());
55: traker.addImage(_image, 0);
56:
57: traker.waitForID(0);
58: } catch (Exception e) {
59: //image = null;
60: e.printStackTrace();
61: System.out.flush();
62: throw new net.sf.jasperreports.engine.JRException(e);
63: }
64:
65: return _image;
66: }
67:
68: }
|