admin
2020-03-05 b404321ac200e26fed385eddd6a3deb91a0de174
图片剪切帮助类
1个文件已修改
1个文件已添加
75 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/service/manger/ClipboardAnalysisManager.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/src/main/java/org/yeshi/utils/ImageCropUtil.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/manger/ClipboardAnalysisManager.java
@@ -1,6 +1,5 @@
package com.yeshi.fanli.service.manger;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.HashSet;
@@ -12,10 +11,6 @@
import javax.annotation.Resource;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.PostMethod;
import org.springframework.stereotype.Component;
import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.NumberUtil;
@@ -215,7 +210,15 @@
            if (!StringUtil.isNullOrEmpty(link)) {
                CommonGoods goods = parseLink(urlList.get(0));
                if (goods == null || goods.getGoodsId() == null) {
                    resultListener.onResult(new GoodsDocParseResultVO(text, urlList.get(0)));
                    if (urlList.size() > 1)
                        resultListener.onResult(new GoodsDocParseResultVO(text, urlList.get(0)));
                    else {// 单链接
                            // 判断是否包含可转链的链接
                        if (!isContainsLinkConvert(link))
                            resultListener.none();
                        else
                            resultListener.onResult(new GoodsDocParseResultVO(text, link));
                    }
                } else {
                    if (VersionUtil.greaterThan_2_0_7(platform, version)) {
                        if (urlList.size() == 1)// 单链接+文本
@@ -485,6 +488,16 @@
        }
        return null;
    }
    private boolean isContainsLinkConvert(String link) {
        if (link.contains(".jd.com"))
            return true;
        else if (link.contains(".taobao.com") || link.contains(".tmall"))
            return true;
        else if (link.contains(".pinduoduo.com") || link.contains(".yangkeduo.com"))
            return true;
        return false;
    }
}
/**
utils/src/main/java/org/yeshi/utils/ImageCropUtil.java
New file
@@ -0,0 +1,50 @@
package org.yeshi.utils;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileNotFoundException;
import net.coobird.thumbnailator.Thumbnails;
import net.coobird.thumbnailator.geometry.Positions;
/**
 * 图片裁剪帮助
 *
 * @author Administrator
 *
 */
public class ImageCropUtil {
    /**
     * 剪切图片中间部分(内切)
     * @param sourceImage
     * @param destImage
     * @param ratio
     * @throws FileNotFoundException
     * @throws Exception
     */
    public static void centerCrop(File sourceImage, File destImage, float ratio)
            throws FileNotFoundException, Exception {
        if (!sourceImage.exists())
            throw new FileNotFoundException();
        BufferedImage image = Thumbnails.of(sourceImage).scale(1.0f).asBufferedImage();
        int width = image.getWidth();
        int height = image.getHeight();
        int newWidth = 0;
        int newHeight = 0;
        if (width > ratio * height) {// 以高为主
            newHeight = height;
            newWidth = (int) (newHeight * ratio);
        } else {// 以宽为主
            newWidth = width;
            newHeight = (int) (newWidth / ratio);
        }
        if (destImage.exists())
            destImage.delete();
        Thumbnails.of(sourceImage).sourceRegion(Positions.CENTER, newWidth, newHeight).scale(1.0)
                .toFile(destImage.getPath());
    }
}