一个提高照片质量的网站和一个改变照片DPI的方法

相信很多童鞋都有遇到过,碰到一张很喜欢的图片,想用来做背景什么的,蛋似--因为画质太AV了怕引起误会,所以不敢使用!很气~~!!

这时大神就会跳出来说,画质不好?PS是用来吃si的么!

我:我才不会用什么PS,多捞,用Photoshop才专业。

大神:。。。zz~~

haha,不yy了,究其原因是为了一张图去下个航母级别的软件,有点太大材小用了,上手也不是那么容易,又没有Photoshop好用

大神:mdzz!!!

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

闲话少说,贴网址:http://waifu2x.udp.jp/

点击进去会出现这个界面:

按照步骤来so easy有木有。

 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

好了,下面还想介绍一个修改照片dpi的方法。(当然有PS的就不用看了咯)

因为是借鉴别人的,也没啥好细说的,直接上代码了(因为原博主地址找不到了,原谅我没有附上):

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class DPIHandleHelper {
private static int DPI = 350;

public static void main(String[] args) {
  String path = "C://Users/a84vyzz/Desktop/Personal/Web/web resource_image/cjh_1.jpg"; //此处为你需要改变的图片的路径
  File file = new File(path);
  handleDpi(file, 350, 350); //此处为你需要dpi,这里表示修改dpi为350
}

/**
* 改变图片DPI
*
* @param file
* @param xDensity
* @param yDensity
*/
public static void handleDpi(File file, int xDensity, int yDensity) {
  try {
    BufferedImage image = ImageIO.read(file);
    JPEGImageEncoder jpegEncoder = JPEGCodec.createJPEGEncoder(new FileOutputStream(file));
    JPEGEncodeParam jpegEncodeParam = jpegEncoder.getDefaultJPEGEncodeParam(image);
    jpegEncodeParam.setDensityUnit(JPEGEncodeParam.DENSITY_UNIT_DOTS_INCH);
    jpegEncoder.setJPEGEncodeParam(jpegEncodeParam);
    jpegEncodeParam.setQuality(0.75f, false);
    jpegEncodeParam.setXDensity(xDensity);
    jpegEncodeParam.setYDensity(yDensity);
    jpegEncoder.encode(image, jpegEncodeParam);
    image.flush();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

 

直接新建一个java项目,将代码贴进去就可以了,不需要导入额外的jar包(将代码复制到项目后,界面会出现很多错误,不用理会,debug后就会发现图片dpi被修改了)

因为不是做java的,对这块也不是很了解,原谅没想办法去解决这些错误,如果有大神解决了可以帮忙贴在评论区,助人为乐,人人有责~_~。

posted @ 2019-04-16 09:43  那片星空,那片海  阅读(8648)  评论(0编辑  收藏  举报