|
|
@@ -967,51 +967,53 @@ public class MidjourneyServiceImpl implements MidjourneyService {
|
|
|
log.info("获取到的图片 url:{}", conversation.getImageUrl());
|
|
|
ImgSize imgSize = TASK_IMG_SIZE_MAP.get(conversation.getTaskId());
|
|
|
URL url = new URL(conversation.getImageUrl());
|
|
|
- try {
|
|
|
- String filePath = url.getFile();
|
|
|
- // 注册 WebP 插件
|
|
|
- ImageIO.scanForPlugins();
|
|
|
-
|
|
|
- // 从 URL 中读取图像,特别处理 WebP 格式
|
|
|
- BufferedImage image = null;
|
|
|
- if (filePath.contains("webp")) {
|
|
|
- Iterator<ImageReader> readers = ImageIO.getImageReadersByMIMEType("image/webp");
|
|
|
- if (readers.hasNext()) {
|
|
|
- ImageReader reader = readers.next();
|
|
|
- try {
|
|
|
- ImageInputStream iis = ImageIO.createImageInputStream(url.openStream());
|
|
|
- reader.setInput(iis, true);
|
|
|
- image = reader.read(0);
|
|
|
- }catch (Exception e){
|
|
|
- log.error("下载图获取尺寸错误,{}", StringUtil.getErrorText(e));
|
|
|
+ if(imgSize != null){
|
|
|
+ try {
|
|
|
+ String filePath = url.getFile();
|
|
|
+ // 注册 WebP 插件
|
|
|
+ ImageIO.scanForPlugins();
|
|
|
+
|
|
|
+ // 从 URL 中读取图像,特别处理 WebP 格式
|
|
|
+ BufferedImage image = null;
|
|
|
+ if (filePath.contains("webp")) {
|
|
|
+ Iterator<ImageReader> readers = ImageIO.getImageReadersByMIMEType("image/webp");
|
|
|
+ if (readers.hasNext()) {
|
|
|
+ ImageReader reader = readers.next();
|
|
|
+ try {
|
|
|
+ ImageInputStream iis = ImageIO.createImageInputStream(url.openStream());
|
|
|
+ reader.setInput(iis, true);
|
|
|
+ image = reader.read(0);
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("下载图获取尺寸错误,{}", StringUtil.getErrorText(e));
|
|
|
+ }
|
|
|
}
|
|
|
+ } else {
|
|
|
+ image = ImageIO.read(url);
|
|
|
}
|
|
|
- } else {
|
|
|
- image = ImageIO.read(url);
|
|
|
- }
|
|
|
|
|
|
- if (image == null) {
|
|
|
- throw new IOException("Failed to read image from URL: " + conversation.getImageUrl());
|
|
|
- }
|
|
|
+ if (image == null) {
|
|
|
+ throw new IOException("Failed to read image from URL: " + conversation.getImageUrl());
|
|
|
+ }
|
|
|
|
|
|
- if (imgSize == null) {
|
|
|
- try {
|
|
|
- //BufferedImage image = ImageIO.read(new URL(url.getProtocol(), "cdn.mj.liuliangbang.vip", url.getPort(), url.getFile()));
|
|
|
- // 获取图像的宽度和高度
|
|
|
- int width = image.getWidth();
|
|
|
- int height = image.getHeight();
|
|
|
- log.info("首次获取到的图片 尺寸:{},{}", width, height);
|
|
|
- // 缩小宽度和高度的一半
|
|
|
- imgSize = new ImgSize();
|
|
|
- imgSize.setHeight(height);
|
|
|
- imgSize.setWidth(width);
|
|
|
- TASK_IMG_SIZE_MAP.put(conversation.getTaskId(), imgSize);
|
|
|
- }catch (Exception e){
|
|
|
- log.error("下载图获取尺寸错误,{}", StringUtil.getErrorText(e));
|
|
|
+ if (imgSize == null) {
|
|
|
+ try {
|
|
|
+ //BufferedImage image = ImageIO.read(new URL(url.getProtocol(), "cdn.mj.liuliangbang.vip", url.getPort(), url.getFile()));
|
|
|
+ // 获取图像的宽度和高度
|
|
|
+ int width = image.getWidth();
|
|
|
+ int height = image.getHeight();
|
|
|
+ log.info("首次获取到的图片 尺寸:{},{}", width, height);
|
|
|
+ // 缩小宽度和高度的一半
|
|
|
+ imgSize = new ImgSize();
|
|
|
+ imgSize.setHeight(height);
|
|
|
+ imgSize.setWidth(width);
|
|
|
+ TASK_IMG_SIZE_MAP.put(conversation.getTaskId(), imgSize);
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("下载图获取尺寸错误,{}", StringUtil.getErrorText(e));
|
|
|
+ }
|
|
|
}
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("下载图获取尺寸错误,{}", StringUtil.getErrorText(e));
|
|
|
}
|
|
|
- }catch (Exception e){
|
|
|
- log.error("下载图获取尺寸错误,{}", StringUtil.getErrorText(e));
|
|
|
}
|
|
|
|
|
|
String scaling = "";
|