Java Examples for com.sun.media.jai.codec.ImageEncodeParam
The following java examples will help you to understand the usage of com.sun.media.jai.codec.ImageEncodeParam. These source code samples are taken from different open source projects.
Example 1
Project: cosmocode-image-filtering-master File: JAIImageFiltering.java View source code |
/** format can be
* png
* pnm
* tiff
* bmp
* jpeg
*/
public boolean writeToStream(java.io.OutputStream out, String format) {
if (ro == null)
return false;
if (format == null)
format = "";
ImageEncodeParam iep = null;
if (format.toLowerCase().equals("png")) {
iep = null;
} else if (format.toLowerCase().equals("pnm")) {
iep = new PNMEncodeParam();
} else if (format.toLowerCase().equals("tiff")) {
iep = new TIFFEncodeParam();
} else if (format.toLowerCase().equals("bmp")) {
iep = new BMPEncodeParam();
} else if (format.toLowerCase().equals("jpeg")) {
iep = new JPEGEncodeParam();
((JPEGEncodeParam) iep).setQuality(quality);
} else
format = null;
EncodeDescriptor.create(ro, out, format, iep, null);
return true;
}
Example 2
Project: ProcessPuzzleFramework-master File: AddRelatedArtifactCommand.java View source code |
private ImageEncodeParam getJpegEncodeParam() { JPEGEncodeParam encodeParam = null; try { BufferedImage image = ImageIO.read(new File(filePath)); JPEGImageEncoder jpegEncoder = JPEGCodec.createJPEGEncoder(new FileOutputStream(filePath)); encodeParam = jpegEncoder.getDefaultJPEGEncodeParam(image); encodeParam.setQuality(0.99f, false); encodeParam.setHorizontalSubsampling(0, 1); encodeParam.setHorizontalSubsampling(1, 1); encodeParam.setHorizontalSubsampling(2, 1); encodeParam.setVerticalSubsampling(0, 1); encodeParam.setVerticalSubsampling(1, 1); encodeParam.setVerticalSubsampling(2, 1); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return (ImageEncodeParam) encodeParam; }
Example 3
Project: platform2-master File: ImageEncoderBean.java View source code |
/**
* Creates new image with the desired width and height and encodes it into a image using the
* passed mime type. Writes it to the passed output stream.
* The input stream should be a image with the same mimetype.
* The implementation uses the JAI library.
* @param mimeType
* @param outputMimeType
* @param input
* @param output
* @param width
* @param heigth
*/
private void handleMimeType(String inputMimeType, String outputMimeType, InputStream input, OutputStream output, int width, int heigth) throws IOException {
PlanarImage image = JAI.create("stream", new MemoryCacheSeekableStream(new BufferedInputStream(input)));
// scale image
PlanarImage modifiedImage = createImageWithSize(image, width, heigth);
ImageEncodeParam encodeParam = getEncoderParam(inputMimeType, outputMimeType, image);
com.sun.media.jai.codec.ImageEncoder imageEncoder;
String jaiMimeType = getMimeTypeForJai(outputMimeType);
if (ImageEncoder.UNKNOWN_MIME_TYPE.equals(jaiMimeType)) {
throw new IOException("Mime type " + outputMimeType + " not recognized by JAI");
}
imageEncoder = ImageCodec.createImageEncoder(jaiMimeType, output, encodeParam);
imageEncoder.encode(modifiedImage);
}
Example 4
Project: fcrepo-before33-master File: ImageManipulation.java View source code |
private void outputImage(ImageProcessor ip, OutputStream out, String outputMimeType) throws Exception {
if (outputMimeType.equals("image/gif")) {
if (!alreadyConvertedToRGB) {
ip = ip.convertToRGB();
}
MedianCut mc = new MedianCut((int[]) ip.getPixels(), ip.getWidth(), ip.getHeight());
ip = mc.convertToByte(256);
ImagePlus imp = new ImagePlus("temp", ip);
FileInfo fi = imp.getFileInfo();
byte pixels[] = (byte[]) imp.getProcessor().getPixels();
GifEncoder ge = new GifEncoder(fi.width, fi.height, pixels, fi.reds, fi.greens, fi.blues);
ge.write(out);
} else {
ImageEncodeParam param = null;
String format = null;
if (outputMimeType.equals("image/jpeg")) {
param = new JPEGEncodeParam();
format = "JPEG";
} else if (outputMimeType.equals("image/tiff")) {
param = new TIFFEncodeParam();
format = "TIFF";
} else if (outputMimeType.equals("image/bmp")) {
param = new BMPEncodeParam();
format = "BMP";
} else if (outputMimeType.equals("image/png")) {
param = new PNGEncodeParam.RGB();
format = "PNG";
}
ImageCodec.createImageEncoder(format, out, param).encode(JAI.create("AWTImage", ip.createImage()));
}
}
Example 5
Project: Hphoto-master File: ProcessImage.java View source code |
@SuppressWarnings("unchecked") public void processRequest(HttpServletRequest request, HttpServletResponse response) { Map<String, CharSequence> map = new HashMap<String, CharSequence>(); map.put(HphotoParam.USER.toString(), request.getParameter(HphotoParam.USER.toString())); map.put(HphotoParam.ALBUM.toString(), request.getParameter(HphotoParam.ALBUM.toString())); map.put(HphotoParam.IMAGE_ID.toString(), request.getParameter(HphotoParam.IMAGE_ID.toString())); map.put(HphotoParam.IMAGE_CORP.toString(), request.getParameter(HphotoParam.IMAGE_CORP.toString())); map.put(HphotoParam.IMAGE_MAX.toString(), request.getParameter(HphotoParam.IMAGE_MAX.toString())); map.put(HphotoParam.IMAGE_QUALITY.toString(), request.getParameter(HphotoParam.IMAGE_QUALITY.toString())); String path = null; int what = FOR_SINGAL_IMAGE; //if user,album,id ,for orinigal file //if user,album,id,corp,max,high ,for album image //if user,album,id,max,high ,for a raised image //if user,corp,max ,for a user image String id = (String) map.get(HphotoParam.IMAGE_ID.toString()); String user = (String) map.get(HphotoParam.USER.toString()); String maxStr = (String) map.get(HphotoParam.IMAGE_MAX.toString()); String album = (String) map.get(HphotoParam.ALBUM.toString()); String corp = (String) map.get(HphotoParam.IMAGE_CORP.toString()); assert (user != null); if (!inSize(maxStr)) { return; } if (//for a user image map.get(HphotoParam.ALBUM.toString()) == null) { path = user; what = this.FOR_USER_IMAGE; } else if (//for album image corp != null && corp.equals("c")) { assert (album != null); path = user + "/" + album; what = this.FOR_ALBUM_IMAGE; } else if (//for a raised image maxStr != null) { assert (id != null); assert (album != null); path = user + "/" + album + "/" + id + maxStr; what = this.FOR_RAISE_IMAGE; } else { path = user + "/" + album + "/" + id; } ByteArrayOutputStream bo = null; BufferedImage image = null; ImageWriteable imageWriter = (ImageWriteable) cache.get(path); //if not incache if (imageWriter == null) { //if is album if (what == this.FOR_ALBUM_IMAGE) { imageWriter = getAlbumImage(user, album, null, maxStr); if (imageWriter != null) { cache.put(path, imageWriter); } } else { ImageStream iStream = new ImageStream(); bo = (ByteArrayOutputStream) iStream.getStream(user, album, id); if (bo != null && bo.size() > 0) { try { if (what != FOR_SINGAL_IMAGE) { image = ImageManipulation.getImage(new ByteArrayInputStream(bo.toByteArray())); int oWidth = image.getWidth(); int oHeight = image.getHeight(); int max = 166; try { max = Integer.parseInt(maxStr); } catch (NumberFormatException ne) { } if (maxStr != null) { Raise raise = new Raise(oWidth, oHeight); image = raise.action(max, image); } bo = new ByteArrayOutputStream(); JPEGEncodeParam jpegParam = new JPEGEncodeParam(); jpegParam.setQuality(1.0f); ImageEncodeParam param = (ImageEncodeParam) jpegParam; ImageCodec.createImageEncoder(iStream.getFileType(), bo, param).encode(image); } imageWriter = new ImageWriteable(iStream.getFileName(), iStream.getFileType(), bo.toByteArray()); cache.put(path, imageWriter); image = null; } catch (Exception e) { } finally { try { bo.close(); bo = null; } catch (IOException e) { e.printStackTrace(); } } } else { response.setStatus(HttpServletResponse.SC_NOT_FOUND); return; } } } else if (//if is album what == this.FOR_ALBUM_IMAGE) { imageWriter = getAlbumImage(user, album, null, maxStr); if (imageWriter != null) { cache.put(path, imageWriter); } } if (imageWriter != null) { try { response.setHeader("Content-Disposition", "attachment; filename=\"" + new String(imageWriter.getName().getBytes("UTF-8"), "ISO8859-1") + "\""); response.setContentType("image/jpeg"); response.setHeader("Content-Length", Integer.toString(imageWriter.getSize())); response.setHeader("Cache-Control", "public"); Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_MONTH, 1); response.setHeader("Expires", expiresFormat.format(new Date(c.getTimeInMillis()))); response.setHeader("Date", expiresFormat.format(new Date())); OutputStream os = response.getOutputStream(); os.write(imageWriter.getBytes(), 0, imageWriter.getSize()); os.flush(); os.close(); } catch (Exception e) { response.setStatus(HttpServletResponse.SC_NOT_FOUND); } finally { } } else { response.setStatus(HttpServletResponse.SC_NOT_FOUND); } try { if (bo != null) bo.close(); } catch (IOException e) { } }
Example 6
Project: com.idega.graphics-master File: ImageEncoderBean.java View source code |
/**
* Creates new image with the desired width and height and encodes it into a image using the
* passed mime type. Writes it to the passed output stream.
* The input stream should be a image with the same mimetype.
* The implementation uses the JAI library.
* @param mimeType
* @param outputMimeType
* @param input
* @param output
* @param width
* @param heigth
*/
private void handleMimeType(String inputMimeType, String outputMimeType, InputStream input, OutputStream output, int width, int heigth) throws IOException {
PlanarImage image = JAI.create("stream", new MemoryCacheSeekableStream(new BufferedInputStream(input)));
// scale image
PlanarImage modifiedImage = createImageWithSize(image, width, heigth);
ImageEncodeParam encodeParam = getEncoderParam(inputMimeType, outputMimeType, image);
com.sun.media.jai.codec.ImageEncoder imageEncoder;
String jaiMimeType = getMimeTypeForJai(outputMimeType);
if (UNKNOWN_MIME_TYPE.equals(jaiMimeType)) {
throw new IOException("Mime type " + outputMimeType + " not recognized by JAI");
}
imageEncoder = ImageCodec.createImageEncoder(jaiMimeType, output, encodeParam);
imageEncoder.encode(modifiedImage);
}
Example 7
Project: fcrepo-master File: ImageManipulation.java View source code |
private void outputImage(ImageProcessor ip, OutputStream out, String outputMimeType) throws Exception {
if (outputMimeType.equals("image/gif")) {
if (!alreadyConvertedToRGB) {
ip = ip.convertToRGB();
}
MedianCut mc = new MedianCut((int[]) ip.getPixels(), ip.getWidth(), ip.getHeight());
ip = mc.convertToByte(256);
ImagePlus imp = new ImagePlus("temp", ip);
FileInfo fi = imp.getFileInfo();
byte pixels[] = (byte[]) imp.getProcessor().getPixels();
GifEncoder ge = new GifEncoder(fi.width, fi.height, pixels, fi.reds, fi.greens, fi.blues);
ge.write(out);
} else {
ImageEncodeParam param = null;
String format = null;
if (outputMimeType.equals("image/jpeg")) {
param = new JPEGEncodeParam();
format = "JPEG";
} else if (outputMimeType.equals("image/tiff")) {
param = new TIFFEncodeParam();
format = "TIFF";
} else if (outputMimeType.equals("image/bmp")) {
param = new BMPEncodeParam();
format = "BMP";
} else if (outputMimeType.equals("image/png")) {
param = new PNGEncodeParam.RGB();
format = "PNG";
}
ImageCodec.createImageEncoder(format, out, param).encode(JAI.create("AWTImage", ip.createImage()));
}
}
Example 8
Project: openmap-master File: XTIFFCodec.java View source code |
public boolean canEncodeImage(RenderedImage im, ImageEncodeParam param) {
return true;
}
Example 9
Project: openjump-core-rels-master File: XTIFFCodec.java View source code |
public boolean canEncodeImage(RenderedImage im, ImageEncodeParam param) {
return true;
}