проблема с сохранением изображения я получаю ноль кб - PullRequest
2 голосов
/ 29 октября 2010

У меня проблема, когда я сохраняю свое изображение, я не могу открыть его, потому что оно пустое и размер равен нулю КБЯ читаю изображение из папки, а затем я изменяю размер на 100x100 и сохраняю его, но оно не работает.Вот код, который я написал до сих пор:

public BufferedImage resizeImageToPreview() {

 final String SOURCE ="/Library/glassfishv3/glassfishv3/glassfish/domains/domain1/eclipseApps/LaFamilyEar/LaFamily_war/temp";
  File source = new File(SOURCE);

  BufferedImage image = null;

  //Read images and convert them to BufferedImages
  for (File img : source.listFiles()) {
   try {

    image = ImageIO.read(img);

   } catch (IOException e) {
    e.printStackTrace();
   }
   //Get image width and height
   int w = image.getWidth();  
   int h = image.getHeight(); 

   //Change the width and height to the image to 100x100
//   BufferedImage dimg = new BufferedImage(100, 100, image.getType());  

   //Create graphics to be able to paint or change your image
   Graphics2D g = image.createGraphics();  

   g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);  
   g.drawImage(image, 0, 0, 100, 100, 0, 0, w, h, null);  
   g.dispose(); 

   String extension = ".jpg";
   File dest = new File("/Users/ernestodelgado/Kurs_Java/EjbWorkspace/LaFamily/WebContent/small/"+img.getName());
   try {

    ImageIO.write(image, extension, dest);

   } catch (IOException e) {
    e.printStackTrace();
   }

  }

  return image;
 }

Ответы [ 2 ]

2 голосов
/ 29 октября 2010

Попробуйте этот пример:

public class MakeSmaller {
    public static void main(String... args) throws MalformedURLException,
    IOException {

        String url = "http://actionstalk.com/wp-content/uploads/2007/11/google_logo_3600x1500.jpg";
        BufferedImage orig = ImageIO.read(new URL(url));

        BufferedImage scaled = new BufferedImage(50, 50, orig.getType());

        Graphics2D g = (Graphics2D) scaled.getGraphics();
        g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                RenderingHints.VALUE_INTERPOLATION_BILINEAR);
        g.drawImage(orig, 0, 0, scaled.getWidth(), scaled.getHeight(), null);
        g.dispose();

        ImageIO.write(scaled, "jpg", new File("test.jpg"));
    }
}
1 голос
/ 29 октября 2010

Попробуйте изменить ..

String extension = ".jpg";

.. до ..

String extension = "jpg";

Очевидно, добавьте "." на имя файла в соответствующей точке.

Если это не сработает, попробуйте опубликовать SSCCE .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...