From 3162cbb38fc4f7a888eeb7b26add921a94a7380b Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Tue, 18 Mar 2025 22:39:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AssessCompositionController.java | 4 +- ...mageBlindCharacterWatermarkController.java | 9 +++ .../ImageBlindPicWatermarkController.java | 76 +++++++++++++++++++ ...mageDecodeBlindPicWatermarkController.java | 36 --------- .../imageenhan/ImageBlindPicWatermarkReq.java | 53 +++++++++++++ .../ImageDecodeBlindPicWatermarkReq.java | 13 ---- .../ImageBlindPicWatermarkResp.java | 10 +++ 7 files changed, 150 insertions(+), 51 deletions(-) create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ImageBlindPicWatermarkController.java delete mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ImageDecodeBlindPicWatermarkController.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ImageBlindPicWatermarkReq.java delete mode 100644 api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ImageDecodeBlindPicWatermarkReq.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/resp/imageenhan/ImageBlindPicWatermarkResp.java diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/AssessCompositionController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/AssessCompositionController.java index 5d9901e..66a2741 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/AssessCompositionController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/AssessCompositionController.java @@ -10,7 +10,7 @@ import com.heyu.api.data.annotation.CacheResult; import com.heyu.api.data.annotation.NotIntercept; import com.heyu.api.data.utils.ApiR; import com.heyu.api.data.utils.R; -import com.heyu.api.request.imageenhan.ImageDecodeBlindPicWatermarkReq; +import com.heyu.api.request.imageenhan.ImageBlindPicWatermarkReq; import com.heyu.api.resp.imageenhan.ImageDecodeBlindPicWatermarkResp; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -37,7 +37,7 @@ public class AssessCompositionController extends BaseController { @RequestMapping("/composition") @CacheResult - public R composition(ImageDecodeBlindPicWatermarkReq req) { + public R composition(ImageBlindPicWatermarkReq req) { ImageDecodeBlindPicWatermarkResp resp = new ImageDecodeBlindPicWatermarkResp(); AAssessCompositionRequest request = new AAssessCompositionRequest(); diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ImageBlindCharacterWatermarkController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ImageBlindCharacterWatermarkController.java index fb3ac6c..2238608 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ImageBlindCharacterWatermarkController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ImageBlindCharacterWatermarkController.java @@ -21,6 +21,15 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +/*** + * https://next.api.aliyun.com/api/imageenhan/2019-09-30/ImageBlindCharacterWatermark + * + * 图像隐形文字水印 + * + * ImageBlindCharacterWatermark + * + * + */ @Slf4j @RestController @RequestMapping("/image") diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ImageBlindPicWatermarkController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ImageBlindPicWatermarkController.java new file mode 100644 index 0000000..759f47a --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ImageBlindPicWatermarkController.java @@ -0,0 +1,76 @@ +package com.heyu.api.controller.imageenhan; + + +import com.aliyun.imageenhan20190930.models.ImageBlindPicWatermarkResponse; +import com.aliyun.imageenhan20190930.models.ImageBlindPicWatermarkResponseBody; +import com.heyu.api.alibaba.handle.imageenhan.AImageDecodeBlindPicWatermarkHandle; +import com.heyu.api.alibaba.handle.imageenhan.AImageEncodeBlindPicWatermarkHandle; +import com.heyu.api.alibaba.request.imageenhan.AImageDecodeBlindPicWatermarkRequest; +import com.heyu.api.alibaba.request.imageenhan.AImageEncodeBlindPicWatermarkRequest; +import com.heyu.api.controller.BaseController; +import com.heyu.api.data.annotation.CacheResult; +import com.heyu.api.data.annotation.NotIntercept; +import com.heyu.api.data.utils.ApiR; +import com.heyu.api.data.utils.R; +import com.heyu.api.request.imageenhan.ImageBlindPicWatermarkReq; +import com.heyu.api.resp.imageenhan.ImageBlindPicWatermarkResp; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/*** + * https://next.api.aliyun.com/api/imageenhan/2019-09-30/ImageBlindPicWatermark + * + * 图像隐形图片水印 + * + * ImageBlindPicWatermark + * + */ +@Slf4j +@RestController +@RequestMapping("/image") +@NotIntercept +public class ImageBlindPicWatermarkController extends BaseController { + + @Autowired + private AImageEncodeBlindPicWatermarkHandle aImageEncodeBlindPicWatermarkHandle; + + + @Autowired + private AImageDecodeBlindPicWatermarkHandle aImageDecodeBlindPicWatermarkHandle; + + @RequestMapping("/picWatermark") + @CacheResult + public R scan(ImageBlindPicWatermarkReq req) { + ImageBlindPicWatermarkResp resp = new ImageBlindPicWatermarkResp(); + + if ("encode".equals(req.getType())) { + AImageEncodeBlindPicWatermarkRequest aImageEncodeBlindPicWatermarkRequest = new AImageEncodeBlindPicWatermarkRequest(); + aImageEncodeBlindPicWatermarkRequest.setImageUrl(req.getImageUrl()); + aImageEncodeBlindPicWatermarkRequest.setImageBase64(req.getImageBase64()); + aImageEncodeBlindPicWatermarkRequest.setWatermarkUrl(req.getEncodeImageUrl()); + aImageEncodeBlindPicWatermarkRequest.setWatermarkBase64(req.getEncodeImageBase64()); + aImageEncodeBlindPicWatermarkRequest.setQualityFactor(req.getQualityFactor()); + ApiR aR = aImageEncodeBlindPicWatermarkHandle.handle(aImageEncodeBlindPicWatermarkRequest); + if (aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) { + ImageBlindPicWatermarkResponseBody.ImageBlindPicWatermarkResponseBodyData responseBodyData = aR.getData().getBody().getData(); + resp.setImageURL(responseBodyData.getWatermarkImageURL()); + return R.ok().setData(responseBodyData); + } + return R.error(aR.getErrorMsg()); + } else if ("decode".equals(req.getType())) { + AImageDecodeBlindPicWatermarkRequest aImageDecodeBlindPicWatermarkRequest = new AImageDecodeBlindPicWatermarkRequest(); + aImageDecodeBlindPicWatermarkRequest.setImageUrl(req.getImageUrl()); + aImageDecodeBlindPicWatermarkRequest.setImageBase64(req.getImageBase64()); + ApiR aR = aImageDecodeBlindPicWatermarkHandle.handle(aImageDecodeBlindPicWatermarkRequest); + if(aR.isSuccess() && isSuccessStatusCode(aR.getData().getStatusCode())) { + ImageBlindPicWatermarkResponseBody.ImageBlindPicWatermarkResponseBodyData responseBodyData = aR.getData().getBody().getData(); + resp.setImageURL(responseBodyData.getLogoURL()); + return R.ok().setData(responseBodyData); + } + return R.error(aR.getErrorMsg()); + } + return R.error(); + } +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ImageDecodeBlindPicWatermarkController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ImageDecodeBlindPicWatermarkController.java deleted file mode 100644 index 8a93b4e..0000000 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/imageenhan/ImageDecodeBlindPicWatermarkController.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.heyu.api.controller.imageenhan; - - -import com.heyu.api.alibaba.handle.imageenhan.AImageDecodeBlindPicWatermarkHandle; -import com.heyu.api.alibaba.request.imageenhan.AImageDecodeBlindPicWatermarkRequest; -import com.heyu.api.data.annotation.CacheResult; -import com.heyu.api.data.annotation.NotIntercept; -import com.heyu.api.data.utils.R; -import com.heyu.api.request.imageenhan.ImageDecodeBlindPicWatermarkReq; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@Slf4j -@RestController -@RequestMapping("/image") -@NotIntercept -public class ImageDecodeBlindPicWatermarkController { - - - @Autowired - private AImageDecodeBlindPicWatermarkHandle aImageDecodeBlindPicWatermarkHandle; - - @RequestMapping("/decodePicWatermark") - @CacheResult - public R scan(ImageDecodeBlindPicWatermarkReq req) { - AImageDecodeBlindPicWatermarkRequest aImageDecodeBlindPicWatermarkRequest = new AImageDecodeBlindPicWatermarkRequest(); - - - aImageDecodeBlindPicWatermarkHandle.handle(aImageDecodeBlindPicWatermarkRequest); - - - return R.error(); - } -} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ImageBlindPicWatermarkReq.java b/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ImageBlindPicWatermarkReq.java new file mode 100644 index 0000000..06c4e1d --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ImageBlindPicWatermarkReq.java @@ -0,0 +1,53 @@ +package com.heyu.api.request.imageenhan; + +import com.heyu.api.request.CommonReq; +import lombok.Data; + + +@Data +public class ImageBlindPicWatermarkReq extends CommonReq { + + + /** + * 指定调用功能。包括: + * + * encode 加水印 + * + * decode 解水印 + * + */ + private String type = "encode"; + + /** + * 图片的url + */ + private String encodeImageUrl; + + /** + * base 64 编码 + */ + private String encodeImageBase64; + + /** + * 输出图格式。可以选择jpeg、png、jpg、bmp四种格式,默认png。 + *

+ * 说明 + * 当 FunctionType 为encode_pic、encode_pic_plus或encode_pic_bold时,该参数必填。 + * 当 FunctionType 为decode_pic、decode_pic_plus或decode_pic_bold时,该参数不填。 + * 示例值: + * jpg + */ + private String outputFileType = "jpg"; + + + /** + * 输出图像的质量大小。图像越大质量越高,取值范围 1~100,默认 100。 + *

+ * 说明 仅当 OutputFileType 为jpg时有效。 + * 示例值: + * 100 + */ + private Integer qualityFactor = 50; + + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ImageDecodeBlindPicWatermarkReq.java b/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ImageDecodeBlindPicWatermarkReq.java deleted file mode 100644 index e8efdcb..0000000 --- a/api-web/api-interface/src/main/java/com/heyu/api/request/imageenhan/ImageDecodeBlindPicWatermarkReq.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.heyu.api.request.imageenhan; - -import com.heyu.api.request.CommonReq; -import lombok.Data; - - -@Data -public class ImageDecodeBlindPicWatermarkReq extends CommonReq { - - - - -} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/resp/imageenhan/ImageBlindPicWatermarkResp.java b/api-web/api-interface/src/main/java/com/heyu/api/resp/imageenhan/ImageBlindPicWatermarkResp.java new file mode 100644 index 0000000..f0cde16 --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/resp/imageenhan/ImageBlindPicWatermarkResp.java @@ -0,0 +1,10 @@ +package com.heyu.api.resp.imageenhan; + +import com.heyu.api.resp.CommonImageUrlResp; +import lombok.Data; + + +@Data +public class ImageBlindPicWatermarkResp extends CommonImageUrlResp { + +}