Image resizing Java

前端 未结 1 383
Happy的楠姐
Happy的楠姐 2021-01-14 13:46

I have a weird problem with resizing images and can\'t figure out what I\'am doing wrong. I\'ve read lots of posts wwhich basically have the same code as I:

(I use t

1条回答
  •  不要未来只要你来
    2021-01-14 13:49

    I do not see anything wrong with your code.

    I pulled it into a quick test project in Eclipse targeting Java SE 7 and using imgscalr 4.2 on Windows 7 Pro 64-bit:

    import java.awt.image.BufferedImage;
    import java.io.File;
    
    import javax.imageio.ImageIO;
    
    import org.imgscalr.Scalr;
    
    public class ScalrTest {
    
        public static void main(String[] args) {
            File image = new File("myimage.png");
            File smallImage = new File("myimage_s.png"); // FORNOW: added the file extension just to check the result a bit more easily
            // FORNOW: added print statements just to be doubly sure where we're reading from and writing to
            System.out.println(image.getAbsolutePath());
            System.out.println(smallImage.getAbsolutePath());
            try {
                BufferedImage bufimage = ImageIO.read(image);
    
                BufferedImage bISmallImage = Scalr.resize(bufimage, 30); // after this line my dimensions in bISmallImage are correct!
                ImageIO.write(bISmallImage, "png", smallImage); // but my smallImage has the same dimension as the original foto
            } catch (Exception e) {
                System.out.println(e.getMessage()); // FORNOW: added just to be sure
            }
        }
    
    }
    

    With the following myimage.png...

    myimage.png

    ..., it produced the following myimage_s.png:

    myimage_s.png

    Maybe there is an environmental issue that's hamstringing your code, but possibilities that come to mind would come with a clear error.

    0 讨论(0)
提交回复
热议问题