标签: imgscalr

imgscalr与背景红色

我正在使用(org.imgscalr.Scalr)库来调整某些图像的大小,但是在调整大小后,背景变为红色.我的代码是:

BufferedImage imagemPng = ImageIO.read(image);
BufferedImage imagemJpg = Scalr.resize(imagemPng, Method.QUALITY, 1920, 937);
Run Code Online (Sandbox Code Playgroud)

你能帮助我吗?

谢谢

java imgscalr

8
推荐指数
1
解决办法
2625
查看次数

使用java thumbnailator或imgscalr调整jpeg图像大小时的粉红色/偏红色调

我正在尝试使用两个库(thumbnitor和imgscalr)转换图像(下面的url).我的代码适用于大多数图像,除了转换后的一些图像具有粉红色/红色色调.

我想了解原因并欢迎任何建议.

注意 - 此图像的图像类型是5即BufferedImage.TYPE_3BYTE_BGR,我使用的是Java 7

在此输入图像描述 在此输入图像描述

使用Thumbnailator

  Thumbnails.of(fromDir.listFiles())                
                    .size(thumbnailWidth, thumbnailHeight)
                    .toFiles(Rename.SUFFIX_HYPHEN_THUMBNAIL);
Run Code Online (Sandbox Code Playgroud)

使用imgscalr

    BufferedImage bufferedImage = ImageIO.read(file);
    final BufferedImage jpgImage;

    LOG.debug("image type is =[{}] ", bufferedImage.getType());

     BufferedImage scaledImg = Scalr.resize(bufferedImage, Method.ULTRA_QUALITY, thumbnailWidth, thumbnailHeight, Scalr.OP_ANTIALIAS);


    File thumbnailFile = new File(fromDirPath + "/" + getFileName(file.getName()) +THUMBNAIL_KEYWORD  + ".png");

    ImageIO.write(scaledImg, getFileExtension(file.getName()), thumbnailFile);

    bufferedImage.flush();
    scaledImg.flush();
Run Code Online (Sandbox Code Playgroud)

java bufferedimage thumbnails javax.imageio imgscalr

6
推荐指数
1
解决办法
2209
查看次数

动态调整java中的bufferedimage大小

我尝试使用AffineTransform和Scalr.resize调整缓冲图像的大小

这是我的两个代码.

使用Scalr.resize:

    BufferedImage buff = robot.createScreenCapture(new Rectangle(bufx,bufy,bufwidth,bufheight)); // x-coord, y-coord, width, height

    BufferedImage scrCapt = Scalr.resize(buff, Method.BALANCED, scrwidth, scrheight);
Run Code Online (Sandbox Code Playgroud)

使用AffineTransform:

BufferedImage buff = robot.createScreenCapture(new Rectangle(bufx,bufy,bufwidth,bufheight)); // x-coord, y-coord, width, height

BufferedImage scrCapt = new BufferedImage(bufwidth,bufheight,BufferedImage.TYPE_INT_ARGB);
AffineTransform atscr = new AffineTransform();


atscr.scale(aspectRatioWidth,aspectRatioHeight);
AffineTransformOp scaleOp = new AffineTransformOp(atscr, AffineTransformOp.TYPE_BILINEAR);
scrCapt = scaleOp.filter(buff, scrCapt);
Run Code Online (Sandbox Code Playgroud)

变量已在类内部的开头声明:

static int bufx = 0;
static int bufy = 0;
static int bufwidth = 1;
static int bufheight = 1;
static int scrwidth = 0;
static int …
Run Code Online (Sandbox Code Playgroud)

java bufferedimage affinetransform image-resizing imgscalr

6
推荐指数
1
解决办法
1266
查看次数

如何用imgscalr设置作物起始位置?

我试图使用imgscalr库与以下裁剪方法:

Scalr.crop(image, height, width);
Run Code Online (Sandbox Code Playgroud)

但它始终从图像的左上角开始播种.我可以调整此行为以从右下角或中心开始吗?

image javax.imageio imgscalr

5
推荐指数
1
解决办法
1309
查看次数

使用ImgScalr调整图像大小的最佳分辨率

我是ImgScalr API的新手.我需要将我的图像调整为不同的视图,其中一个是移动视图,第二个是缩略图视图.我已经使用了resize方法,但有一个疑问.哪个是最好的调整大小方法,从可用的多个选项调整图像大小,以保持适当的宽高比(如图像不会变得模糊)

我注意到的一件事是每个resize方法都接受一个targetSize参数.如何指定此字段可确保图像的宽高比不会受到影响.

考虑到我需要生成一个大小约为2 MB的输入图像的2 KB缩略图视图,resize方法的理想参数应该是什么?

由于缺乏足够的文档和示例,我有点困惑.

java image-resizing imgscalr

2
推荐指数
1
解决办法
3708
查看次数