import java.awt.Container;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.RenderingHints;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public class MyJPGEncoder {
public static void main(String[] args) {
try {
String in = "java.jpg";
String out = "thumb.jpg";
int w = 50;
int h= 50;
int q = 45;
encode(in, out, w, h, q);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void encode(String strImage, String output, int
width, int height, int quality) throws Exception {
Image image = Toolkit.getDefaultToolkit().getImage(strImage);
MediaTracker mediaTracker = new MediaTracker(new Container());
mediaTracker.addImage(image, 0);
mediaTracker.waitForID(0);
// determine thumbnail size from WIDTH and HEIGHT
double thumbRatio = (double) width / (double) height;
int imageWidth = image.getWidth(null);
int imageHeight = image.getHeight(null);
double imageRatio = (double) imageWidth / (double)
imageHeight;
if (thumbRatio < imageRatio) {
height = (int) (width / imageRatio);
} else {
width = (int) (height * imageRatio);
}
// draw original image to thumbnail image object and
// scale it to the new size on-the-fly
BufferedImage thumbImage = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2D = thumbImage.createGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2D.drawImage(image, 0, 0, width, height, null);
// save thumbnail image to OUTFILE
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(output));
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param =
encoder.getDefaultJPEGEncodeParam(thumbImage);
quality = Math.max(0, Math.min(quality, 100));
param.setQuality((float) quality / 100.0f, false);
encoder.setJPEGEncodeParam(param);
encoder.encode(thumbImage);
out.close();
System.out.println("Done: " + output);
}
}
On Apr 24, 3:07 pm, "Mauri Ferreyra" <maur...@gmail.com> wrote:
> no hay nada?
--
Oriol.
<%
try
{
//URL url = "// URL of the remote image to be read //";
//RenderedImage image = JAI.create("url", url);
String filename = "C:\\archivo.jpeg";
RenderedImage img =
JAI.create("fileload", filename);
ColorModel cm = img.getColorModel();
int w = img.getWidth();
int h = img.getHeight();
WritableRaster raster = cm.createCompatibleWritableRaster(w,h);
boolean isAlphaPremultiplied =
cm.isAlphaPremultiplied();
Hashtable props = new Hashtable();
String [] keys = img.getPropertyNames();
if (keys != null) {
for (int i = 0 ; i < keys.length ; i++) {
props.put(keys[i], img.getProperty(keys[i]));
}
}
BufferedImage bImg = new BufferedImage(cm, raster,
isAlphaPremultiplied,
props);
img.copyData(raster);
Image scaledImage = bImg.getScaledInstance(50, 50, 50);
String outputFilename = "C:\\testBYTEGRAY3.jpg";
BufferedImage bufferedImage = new BufferedImage(50 , 50, BufferedImage.TYPE_BYTE_GRAY);
bufferedImage.getGraphics().drawImage(scaledImage, 0, 0, null);
RenderedOp op = JAI.create("filestore", bufferedImage, outputFilename, "JPEG");
%>
Done.<br>
<img src="testBYTEGRAY3.jpg">
<%
}
catch (Exception e)
{
%>
<%=e.getMessage()%>
<%
}
%>
Hola, esta misma url encontré por Internet, pero me da error en el applet y no se si hay que instalar alguna dll especial, el error que me da es:
java.lang.NoClassDefFoundError: javax/media/jai/PlanarImage
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0 (Unknown Source)
at java.lang.Class.newInstance0 (Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet (Unknown Source)
at sun.applet.AppletPanel.runLoader (Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Aunque esto me lo da con la versión 1.5.0_10-b03 , lo he probado también con la última de java y me parece que me da el mismo error.
Hola, esta misma url encontré por Internet, pero me da error en el applet y no se si hay que instalar alguna dll especial, el error que me da es:
java.lang.NoClassDefFoundError: javax/media/jai/PlanarImage
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0 (Unknown Source)
at java.lang.Class.newInstance0 (Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet (Unknown Source)
at sun.applet.AppletPanel.runLoader (Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Aunque esto me lo da con la versión 1.5.0_10-b03 , lo he probado también con la última de java y me parece que me da el mismo error.
LSC. Jos�© Eduardo Razo Fabre, MSC
lalo...@gmail.com
JERFSoft (c)
Tel: +52 (222) 2432779
Cel: +52 (222) 4256305
ICQ: 110975687
AIM: goldenhawkr
YIM: jerfmx
MSN: imperi...@hotmail.com
Linux User: 356663
Hola, esta misma url encontré por Internet, pero me da error en el applet y no se si hay que instalar alguna dll especial, el error que me da es:
java.lang.NoClassDefFoundError: javax/media/jai/PlanarImage
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0 (Unknown Source)
at java.lang.Class.newInstance0 (Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet (Unknown Source)
at sun.applet.AppletPanel.runLoader (Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Aunque esto me lo da con la versión 1.5.0_10-b03 , lo he probado también con la última de java y me parece que me da el mismo error.