001
014
015 package com.liferay.portal.kernel.image;
016
017 import aQute.bnd.annotation.ProviderType;
018
019 import com.liferay.portal.kernel.exception.ImageResolutionException;
020 import com.liferay.portal.kernel.model.Image;
021 import com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission;
022
023 import java.awt.image.BufferedImage;
024 import java.awt.image.RenderedImage;
025
026 import java.io.File;
027 import java.io.IOException;
028 import java.io.InputStream;
029 import java.io.OutputStream;
030
031 import java.util.concurrent.Future;
032
033
039 @ProviderType
040 public class ImageToolUtil {
041
042
056 public static Future<RenderedImage> convertCMYKtoRGB(
057 byte[] bytes, String type) {
058
059 return getImageTool().convertCMYKtoRGB(bytes, type);
060 }
061
062
069 public static BufferedImage convertImageType(
070 BufferedImage sourceImage, int type) {
071
072 return getImageTool().convertImageType(sourceImage, type);
073 }
074
075 public static RenderedImage crop(
076 RenderedImage renderedImage, int height, int width, int x, int y) {
077
078 return getImageTool().crop(renderedImage, height, width, x, y);
079 }
080
081
088 public static void encodeGIF(RenderedImage renderedImage, OutputStream os)
089 throws IOException {
090
091 getImageTool().encodeGIF(renderedImage, os);
092 }
093
094
101 public static void encodeWBMP(RenderedImage renderedImage, OutputStream os)
102 throws IOException {
103
104 getImageTool().encodeWBMP(renderedImage, os);
105 }
106
107
113 public static BufferedImage getBufferedImage(RenderedImage renderedImage) {
114 return getImageTool().getBufferedImage(renderedImage);
115 }
116
117
126 public static byte[] getBytes(
127 RenderedImage renderedImage, String contentType)
128 throws IOException {
129
130 return getImageTool().getBytes(renderedImage, contentType);
131 }
132
133 public static Image getDefaultCompanyLogo() {
134 return getImageTool().getDefaultCompanyLogo();
135 }
136
137 public static Image getDefaultOrganizationLogo() {
138 return getImageTool().getDefaultOrganizationLogo();
139 }
140
141 public static Image getDefaultSpacer() {
142 return getImageTool().getDefaultSpacer();
143 }
144
145 public static Image getDefaultUserFemalePortrait() {
146 return getImageTool().getDefaultUserFemalePortrait();
147 }
148
149 public static Image getDefaultUserMalePortrait() {
150 return getImageTool().getDefaultUserMalePortrait();
151 }
152
153 public static Image getImage(byte[] bytes)
154 throws ImageResolutionException, IOException {
155
156 return getImageTool().getImage(bytes);
157 }
158
159 public static Image getImage(File file)
160 throws ImageResolutionException, IOException {
161
162 return getImageTool().getImage(file);
163 }
164
165 public static Image getImage(InputStream is)
166 throws ImageResolutionException, IOException {
167
168 return getImageTool().getImage(is);
169 }
170
171 public static Image getImage(InputStream is, boolean cleanUpStream)
172 throws ImageResolutionException, IOException {
173
174 return getImageTool().getImage(is, cleanUpStream);
175 }
176
177 public static ImageTool getImageTool() {
178 PortalRuntimePermission.checkGetBeanProperty(ImageToolUtil.class);
179
180 return _imageTool;
181 }
182
183 public static boolean isNullOrDefaultSpacer(byte[] bytes) {
184 return getImageTool().isNullOrDefaultSpacer(bytes);
185 }
186
187
200 public static ImageBag read(byte[] bytes)
201 throws ImageResolutionException, IOException {
202
203 return getImageTool().read(bytes);
204 }
205
206
219 public static ImageBag read(File file)
220 throws ImageResolutionException, IOException {
221
222 return getImageTool().read(file);
223 }
224
225 public static ImageBag read(InputStream inputStream)
226 throws ImageResolutionException, IOException {
227
228 return getImageTool().read(inputStream);
229 }
230
231
239 public static RenderedImage scale(RenderedImage renderedImage, int width) {
240 return getImageTool().scale(renderedImage, width);
241 }
242
243
253 public static RenderedImage scale(
254 RenderedImage renderedImage, int maxHeight, int maxWidth) {
255
256 return getImageTool().scale(renderedImage, maxHeight, maxWidth);
257 }
258
259
268 public static void write(
269 RenderedImage renderedImage, String contentType, OutputStream os)
270 throws IOException {
271
272 getImageTool().write(renderedImage, contentType, os);
273 }
274
275 public void setImageTool(ImageTool imageTool) {
276 PortalRuntimePermission.checkSetBeanProperty(getClass());
277
278 _imageTool = imageTool;
279 }
280
281 private static ImageTool _imageTool;
282
283 }