From a69ef2d87fdfe075db13ca342376d08ebf738fd0 Mon Sep 17 00:00:00 2001 From: "huangbin.beal@163.com" Date: Mon, 25 Mar 2024 20:34:03 +0800 Subject: [PATCH 1/5] fix: compress image for req --- docs/CHANGELOG.md | 2 +- hrp/internal/version/VERSION | 2 +- hrp/pkg/uixt/ext.go | 23 +++++++++++++++++++++-- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 901e1744..b6feb0ff 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## v4.3.8 (2023-09-19) +## v4.3.9 (2023-09-19) - feat: OCR calls use the high-precision cluster interface, and the default timeout is changed from 3s to 10s - feat: use jpeg to compress screenshots - feat: increase live broadcast end-to-end collection capabilities diff --git a/hrp/internal/version/VERSION b/hrp/internal/version/VERSION index fdd709db..3a6c610b 100644 --- a/hrp/internal/version/VERSION +++ b/hrp/internal/version/VERSION @@ -1 +1 @@ -v4.3.8 +v4.3.9 diff --git a/hrp/pkg/uixt/ext.go b/hrp/pkg/uixt/ext.go index b9ad0041..63f4e67f 100644 --- a/hrp/pkg/uixt/ext.go +++ b/hrp/pkg/uixt/ext.go @@ -224,8 +224,27 @@ func (dExt *DriverExt) takeScreenShot(fileName string) (raw *bytes.Buffer, path } func compressImageBuffer(raw *bytes.Buffer) (compressed *bytes.Buffer, err error) { - // TODO: compress image data - return raw, nil + // 解码原始图像数据 + img, format, err := image.Decode(raw) + if err != nil { + return nil, err + } + + // 创建一个用来保存压缩后数据的buffer + var buf bytes.Buffer + + switch format { + // Convert to jpeg uniformly and compress with a compression rate of 95 + case "jpeg", "png": + jpegOptions := &jpeg.Options{Quality: 95} + err = jpeg.Encode(&buf, img, jpegOptions) + default: + return nil, fmt.Errorf("unsupported image format: %s", format) + } + + // 返回压缩后的图像数据 + return &buf, nil + } // saveScreenShot saves image file with file name From 41b32a76a2381a13848b224854e17991ba23b412 Mon Sep 17 00:00:00 2001 From: "huangbin.beal@163.com" Date: Fri, 29 Mar 2024 11:43:05 +0800 Subject: [PATCH 2/5] chore: change log --- docs/CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index b6feb0ff..54e7546f 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,6 +1,9 @@ # Release History ## v4.3.9 (2023-09-19) +- fix: OCR calls use compressed image + +## v4.3.8 (2023-09-19) - feat: OCR calls use the high-precision cluster interface, and the default timeout is changed from 3s to 10s - feat: use jpeg to compress screenshots - feat: increase live broadcast end-to-end collection capabilities From ecdb2cb9e0427d98a55096c28e5fc07390ba922c Mon Sep 17 00:00:00 2001 From: "huangbin.beal@163.com" Date: Fri, 29 Mar 2024 11:51:30 +0800 Subject: [PATCH 3/5] fix: error deal --- hrp/pkg/uixt/ext.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hrp/pkg/uixt/ext.go b/hrp/pkg/uixt/ext.go index 63f4e67f..4fac1419 100644 --- a/hrp/pkg/uixt/ext.go +++ b/hrp/pkg/uixt/ext.go @@ -238,6 +238,9 @@ func compressImageBuffer(raw *bytes.Buffer) (compressed *bytes.Buffer, err error case "jpeg", "png": jpegOptions := &jpeg.Options{Quality: 95} err = jpeg.Encode(&buf, img, jpegOptions) + if err != nil { + return nil, err + } default: return nil, fmt.Errorf("unsupported image format: %s", format) } From f6bd3419c0ae062fe9297f8c7a19036cea4951d1 Mon Sep 17 00:00:00 2001 From: "huangbin.beal@163.com" Date: Mon, 1 Apr 2024 16:49:16 +0800 Subject: [PATCH 4/5] fix: jpeg options in save screenshot --- hrp/pkg/uixt/ext.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hrp/pkg/uixt/ext.go b/hrp/pkg/uixt/ext.go index 4fac1419..f283c7f9 100644 --- a/hrp/pkg/uixt/ext.go +++ b/hrp/pkg/uixt/ext.go @@ -276,7 +276,7 @@ func (dExt *DriverExt) saveScreenShot(raw *bytes.Buffer, fileName string) (strin switch format { // Convert to jpeg uniformly and compress with a compression rate of 95 case "jpeg", "png": - jpegOptions := &jpeg.Options{Quality: 95} + jpegOptions := &jpeg.Options{} err = jpeg.Encode(file, img, jpegOptions) default: return "", fmt.Errorf("unsupported image format: %s", format) From b5136ff1f19b00dea828eef0f17f0d7064b59aac Mon Sep 17 00:00:00 2001 From: "huangbin.beal@163.com" Date: Mon, 1 Apr 2024 16:58:46 +0800 Subject: [PATCH 5/5] chore: remove useless code --- hrp/pkg/uixt/ext.go | 1 - 1 file changed, 1 deletion(-) diff --git a/hrp/pkg/uixt/ext.go b/hrp/pkg/uixt/ext.go index f283c7f9..28eea07c 100644 --- a/hrp/pkg/uixt/ext.go +++ b/hrp/pkg/uixt/ext.go @@ -274,7 +274,6 @@ func (dExt *DriverExt) saveScreenShot(raw *bytes.Buffer, fileName string) (strin }() switch format { - // Convert to jpeg uniformly and compress with a compression rate of 95 case "jpeg", "png": jpegOptions := &jpeg.Options{} err = jpeg.Encode(file, img, jpegOptions)