Pessol to precisando redimencionar uma imagem utilizando o java tipo faço o upload da imagem ate ai tudo bem mas queria salvar uma minatura no banco pra mostrar a miniatura e se o usuario quiser baixar a figura do tamanho normal. Então alquem algum exemplo de redimensionamento de imagem com Java ou um lik q possa ajudar???
kra primeiro obrigado pela ajuda, mas não sei se expliquei direito quero reduzir a imagem antes de enviar pro banco so que o kra nesse exemplo não faz isso. Pelo q entendi ele so salva no banco. Na verdade quero salvar uma imagem em tamanho natural, q podera ser feita o download e uma miniatura pra gerar pre-vizualização sem matar o server. Mesmo assim muito obrigado.
kra primeiro obrigado pela ajuda, mas não sei se expliquei direito quero reduzir a imagem antes de enviar pro banco so que o kra nesse exemplo não faz isso. Pelo q entendi ele so salva no banco. Na verdade quero salvar uma imagem em tamanho natural, q podera ser feita o download e uma miniatura pra gerar pre-vizualização sem matar o server. Mesmo assim muito obrigado.
It does not support writting of GIF images, but it
can read from. GIF images will be saved as PNG.
@author Rafael Steil
*/
public class ImageUtils
{
public static final int IMAGE_JPEG = 0;
public static final int IMAGE_PNG = 1;
/**
Resizes an image
@param imgName The image name to resize. Must be the complet path to the file
@param maxWidth The image’s max width
@param maxHeight The image’s max height
@return A resized BufferedImage
@throws IOException If the file is not found
*/
public static BufferedImage resizeImage(String imgName, int type, int maxWidth, int maxHeight) throws IOException
{
return resizeImage(ImageIO.read(new File(imgName)), type, maxWidth, maxHeight);
}
/**
Resizes an image.
@param image The image to resize
@param maxWidth The image’s max width
@param maxHeight The image’s max height
@return A resized BufferedImage
*/
public static BufferedImage resizeImage(Image image, int type, int maxWidth, int maxHeight)
{
float zoom = 1.0F;
Dimension largestDimension = new Dimension(maxWidth, maxHeight);
// Original size
int imageWidth = image.getWidth(null);
int imageHeight = image.getHeight(null);
writer.write(null, new IIOImage(image, null, null), iwparam);
ios.flush();
writer.dispose();
ios.close();
}
/**
Creates a BufferedImage from an Image.
@param image The image to convert
@param w The desired image width
@param h The desired image height
@return The converted image
*/
public static BufferedImage createBufferedImage(Image image, int type, int w, int h)
{
if (type == ImageUtils.IMAGE_PNG && hasAlpha(image)) {
type = BufferedImage.TYPE_INT_ARGB;
}
else {
type = BufferedImage.TYPE_INT_RGB;
}
Parabéns, este é o primeiro exemplo que dá pra aumentar a imagem também. Os que vi no site do JAI só dava pra diminuir.
Bom, mas toda vez que compilo apresenta estas excessões:
init:
deps-module-jar:
deps-ear-jar:
deps-jar:
Compiling 1 source file to C:\Documents and Settings\FF Criações\Meus documentos\NetBeansProjects\JAI\build\web\WEB-INF\classes
C:\Documents and Settings\FF Criações\Meus documentos\NetBeansProjects\JAI\src\java\portalJava\Miniatura.java:8: warning: com.sun.image.codec.jpeg.ImageFormatException is Sun proprietary API and may be removed in a future release
import com.sun.image.codec.jpeg.ImageFormatException;
C:\Documents and Settings\FF Criações\Meus documentos\NetBeansProjects\JAI\src\java\portalJava\Miniatura.java:9: warning: com.sun.image.codec.jpeg.JPEGCodec is Sun proprietary API and may be removed in a future release
import com.sun.image.codec.jpeg.JPEGCodec;
C:\Documents and Settings\FF Criações\Meus documentos\NetBeansProjects\JAI\src\java\portalJava\Miniatura.java:10: warning: com.sun.image.codec.jpeg.JPEGEncodeParam is Sun proprietary API and may be removed in a future release
import com.sun.image.codec.jpeg.JPEGEncodeParam;
C:\Documents and Settings\FF Criações\Meus documentos\NetBeansProjects\JAI\src\java\portalJava\Miniatura.java:11: warning: com.sun.image.codec.jpeg.JPEGImageEncoder is Sun proprietary API and may be removed in a future release
import com.sun.image.codec.jpeg.JPEGImageEncoder;
C:\Documents and Settings\FF Criações\Meus documentos\NetBeansProjects\JAI\src\java\portalJava\Miniatura.java:130: warning: com.sun.image.codec.jpeg.JPEGImageEncoder is Sun proprietary API and may be removed in a future release
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out2);
C:\Documents and Settings\FF Criações\Meus documentos\NetBeansProjects\JAI\src\java\portalJava\Miniatura.java:130: warning: com.sun.image.codec.jpeg.JPEGCodec is Sun proprietary API and may be removed in a future release
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out2);
C:\Documents and Settings\FF Criações\Meus documentos\NetBeansProjects\JAI\src\java\portalJava\Miniatura.java:131: warning: com.sun.image.codec.jpeg.JPEGEncodeParam is Sun proprietary API and may be removed in a future release
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage);
C:\Documents and Settings\FF Criações\Meus documentos\NetBeansProjects\JAI\src\java\portalJava\Miniatura.java:140: warning: com.sun.image.codec.jpeg.ImageFormatException is Sun proprietary API and may be removed in a future release
} catch (ImageFormatException e) {
^
Note: C:\Documents and Settings\FF Criações\Meus documentos\NetBeansProjects\JAI\src\java\portalJava\Miniatura.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
8 warnings
compile-single:
CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)