解析dcm文件生成jpg上传七牛云,及按比例的缩略图

所需jar包:
dcm4che-core-3.3.8.jar
dcm4che-image-3.3.8.jar
dcm4che-imageio-3.3.8.jar
dcm4che-tool-dcm2jpg-3.3.8.jar
ij.jar

/**
 * 输入一个dicom文件的绝对路径和名字
 * 获取一个jpg文件
 */
public static void uploadByObs(String filePath,String fileName) {
    try {
        DICOM dicom = new DICOM();
        dicom.run(filePath);
        BufferedImage bi = (BufferedImage) dicom.getImage();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();//io流
        ImageIO.write(bi, "jpg", baos);//写入流中
        byte[] bytes = baos.toByteArray();//转换成字节
        BASE64Encoder encoder = new BASE64Encoder();
        String png_base64 =  encoder.encodeBuffer(bytes).trim();//转换成base64串
        png_base64 = png_base64.replaceAll("\n", "").replaceAll("\r", "");//删除 \r\n
        Qiuyun.put64image(png_base64,fileName + ".jpg");
    } catch (Exception e) {
        System.out.println("错误" + e.getMessage());
    }
}
public static void uploadThumbnailImageByObs(String filePath,String fileName,int w, int h, String prevfix) {
    try {
        DICOM dicom = new DICOM();
        dicom.run(filePath);
        BufferedImage bi = (BufferedImage) dicom.getImage();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();//io流
        ImageIO.write(bi, "jpg", baos);//写入流中
        byte[] bytes = baos.toByteArray();//转换成字节
        ByteArrayInputStream png_InputStream= new ByteArrayInputStream(bytes);
        BASE64Encoder encoder = new BASE64Encoder();
        ByteArrayOutputStream fileOutputStream = new ByteArrayOutputStream();//io流
        Thumbnails.of(png_InputStream).size(w,h).toOutputStream(fileOutputStream);//按比例缩小.
        byte[] thumbnailbytes = fileOutputStream.toByteArray();//转换成字节
        String thumbnail_base64 =  encoder.encodeBuffer(thumbnailbytes).trim();//转换成base64串
        thumbnail_base64 = thumbnail_base64.replaceAll("\n", "").replaceAll("\r", "");//删除 \r\n
        ObsKit.put64image(thumbnail_base64,fileName + ".jpg" + prevfix);
    } catch (Exception e) {
        System.out.println("错误" + e.getMessage());
    }
}

你可能感兴趣的:(解析dcm文件生成jpg上传七牛云,及按比例的缩略图)