├── .github └── workflows │ └── deploy.yml ├── .gitignore ├── .nojekyll ├── CNAME ├── README.md ├── _coverpage.md ├── _media ├── SunnyCapturer_01.png ├── images │ ├── en_windows_protected_your_PC_and_run.jpg │ ├── run_exhibition │ │ ├── ARM64_Deepin_V23.jpg │ │ ├── Debian12_01.jpg │ │ ├── Debian12_02.jpg │ │ ├── Debian12_03.jpg │ │ ├── Deepin23_01.jpg │ │ ├── Deepin23_02.jpg │ │ ├── Deepin23_03.jpg │ │ ├── Loongson_Deepin_V23.jpg │ │ ├── OpenKylin2.0_01.jpg │ │ ├── Ubuntu20.04_01.jpg │ │ ├── Ubuntu20.04_02.jpg │ │ ├── Ubuntu20.04_03.jpg │ │ ├── Ubuntu24.04_01.jpg │ │ ├── Ubuntu24.04_02.jpg │ │ ├── Ubuntu24.04_03.jpg │ │ ├── Ubuntu24.04_04.jpg │ │ ├── macOS13_01.jpg │ │ ├── macOS13_02.jpg │ │ ├── win11_01.jpg │ │ ├── win11_02.jpg │ │ └── win11_03.jpg │ └── zh_windows_protected_your_PC_and_run.jpg └── img │ ├── copy_dark.svg │ ├── counter_dark.svg │ ├── image_dark.svg │ ├── pin_dark.svg │ ├── save_dark.svg │ └── save_file_dark.svg ├── _sidebar.md ├── acknowledgement.md ├── changelog.md ├── development_technology.md ├── extract_text_ocr.md ├── favicon.ico ├── getting_started.md ├── image_translation.md ├── index.html ├── logo.svg ├── office_site.md ├── supported_os.md ├── translation.md ├── troubleshooting.md └── zh-cn ├── README.md ├── _sidebar.md ├── acknowledgement.md ├── changelog.md ├── development_technology.md ├── extract_text_ocr.md ├── getting_started.md ├── image_translation.md ├── office_site.md ├── supported_os.md ├── translation.md └── troubleshooting.md /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | pages: 2 | stage: deploy 3 | script: 4 | - mkdir .public 5 | - cp -r * .public 6 | - mv .public public 7 | artifacts: 8 | paths: 9 | - public 10 | only: 11 | - master -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by https://www.toptal.com/developers/gitignore/api/vue,hexo,linux,macos,vuejs,windows,visualstudiocode,node 2 | # Edit at https://www.toptal.com/developers/gitignore?templates=vue,hexo,linux,macos,vuejs,windows,visualstudiocode,node 3 | 4 | ### Hexo ### 5 | db.json 6 | public/ 7 | .deploy_git/ 8 | 9 | ### Linux ### 10 | *~ 11 | 12 | # temporary files which can be created if a process still has a handle open of a deleted file 13 | .fuse_hidden* 14 | 15 | # KDE directory preferences 16 | .directory 17 | 18 | # Linux trash folder which might appear on any partition or disk 19 | .Trash-* 20 | 21 | # .nfs files are created when an open file is removed but is still being accessed 22 | .nfs* 23 | 24 | ### macOS ### 25 | # General 26 | .DS_Store 27 | .AppleDouble 28 | .LSOverride 29 | 30 | # Icon must end with two \r 31 | Icon 32 | 33 | 34 | # Thumbnails 35 | ._* 36 | 37 | # Files that might appear in the root of a volume 38 | .DocumentRevisions-V100 39 | .fseventsd 40 | .Spotlight-V100 41 | .TemporaryItems 42 | .Trashes 43 | .VolumeIcon.icns 44 | .com.apple.timemachine.donotpresent 45 | 46 | # Directories potentially created on remote AFP share 47 | .AppleDB 48 | .AppleDesktop 49 | Network Trash Folder 50 | Temporary Items 51 | .apdisk 52 | 53 | ### macOS Patch ### 54 | # iCloud generated files 55 | *.icloud 56 | 57 | ### Node ### 58 | # Logs 59 | logs 60 | *.log 61 | npm-debug.log* 62 | yarn-debug.log* 63 | yarn-error.log* 64 | lerna-debug.log* 65 | .pnpm-debug.log* 66 | 67 | # Diagnostic reports (https://nodejs.org/api/report.html) 68 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 69 | 70 | # Runtime data 71 | pids 72 | *.pid 73 | *.seed 74 | *.pid.lock 75 | 76 | # Directory for instrumented libs generated by jscoverage/JSCover 77 | lib-cov 78 | 79 | # Coverage directory used by tools like istanbul 80 | coverage 81 | *.lcov 82 | 83 | # nyc test coverage 84 | .nyc_output 85 | 86 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 87 | .grunt 88 | 89 | # Bower dependency directory (https://bower.io/) 90 | bower_components 91 | 92 | # node-waf configuration 93 | .lock-wscript 94 | 95 | # Compiled binary addons (https://nodejs.org/api/addons.html) 96 | build/Release 97 | 98 | # Dependency directories 99 | node_modules/ 100 | jspm_packages/ 101 | 102 | # Snowpack dependency directory (https://snowpack.dev/) 103 | web_modules/ 104 | 105 | # TypeScript cache 106 | *.tsbuildinfo 107 | 108 | # Optional npm cache directory 109 | .npm 110 | 111 | # Optional eslint cache 112 | .eslintcache 113 | 114 | # Optional stylelint cache 115 | .stylelintcache 116 | 117 | # Microbundle cache 118 | .rpt2_cache/ 119 | .rts2_cache_cjs/ 120 | .rts2_cache_es/ 121 | .rts2_cache_umd/ 122 | 123 | # Optional REPL history 124 | .node_repl_history 125 | 126 | # Output of 'npm pack' 127 | *.tgz 128 | 129 | # Yarn Integrity file 130 | .yarn-integrity 131 | 132 | # dotenv environment variable files 133 | .env 134 | .env.development.local 135 | .env.test.local 136 | .env.production.local 137 | .env.local 138 | 139 | # parcel-bundler cache (https://parceljs.org/) 140 | .cache 141 | .parcel-cache 142 | 143 | # Next.js build output 144 | .next 145 | out 146 | 147 | # Nuxt.js build / generate output 148 | .nuxt 149 | dist 150 | 151 | # Gatsby files 152 | .cache/ 153 | # Comment in the public line in if your project uses Gatsby and not Next.js 154 | # https://nextjs.org/blog/next-9-1#public-directory-support 155 | # public 156 | 157 | # vuepress build output 158 | .vuepress/dist 159 | 160 | # vuepress v2.x temp and cache directory 161 | .temp 162 | 163 | # Docusaurus cache and generated files 164 | .docusaurus 165 | 166 | # Serverless directories 167 | .serverless/ 168 | 169 | # FuseBox cache 170 | .fusebox/ 171 | 172 | # DynamoDB Local files 173 | .dynamodb/ 174 | 175 | # TernJS port file 176 | .tern-port 177 | 178 | # Stores VSCode versions used for testing VSCode extensions 179 | .vscode-test 180 | 181 | # yarn v2 182 | .yarn/cache 183 | .yarn/unplugged 184 | .yarn/build-state.yml 185 | .yarn/install-state.gz 186 | .pnp.* 187 | 188 | ### Node Patch ### 189 | # Serverless Webpack directories 190 | .webpack/ 191 | 192 | # Optional stylelint cache 193 | 194 | # SvelteKit build / generate output 195 | .svelte-kit 196 | 197 | ### VisualStudioCode ### 198 | .vscode/* 199 | !.vscode/settings.json 200 | !.vscode/tasks.json 201 | !.vscode/launch.json 202 | !.vscode/extensions.json 203 | !.vscode/*.code-snippets 204 | 205 | # Local History for Visual Studio Code 206 | .history/ 207 | 208 | # Built Visual Studio Code Extensions 209 | *.vsix 210 | 211 | ### VisualStudioCode Patch ### 212 | # Ignore all local history of files 213 | .history 214 | .ionide 215 | 216 | ### Vue ### 217 | # gitignore template for Vue.js projects 218 | # 219 | # Recommended template: Node.gitignore 220 | 221 | # TODO: where does this rule come from? 222 | docs/_book 223 | 224 | # TODO: where does this rule come from? 225 | test/ 226 | 227 | ### Vuejs ### 228 | # Recommended template: Node.gitignore 229 | 230 | dist/ 231 | npm-debug.log 232 | yarn-error.log 233 | 234 | ### Windows ### 235 | # Windows thumbnail cache files 236 | Thumbs.db 237 | Thumbs.db:encryptable 238 | ehthumbs.db 239 | ehthumbs_vista.db 240 | 241 | # Dump file 242 | *.stackdump 243 | 244 | # Folder config file 245 | [Dd]esktop.ini 246 | 247 | # Recycle Bin used on file shares 248 | $RECYCLE.BIN/ 249 | 250 | # Windows Installer files 251 | *.cab 252 | *.msi 253 | *.msix 254 | *.msm 255 | *.msp 256 | 257 | # Windows shortcuts 258 | *.lnk 259 | 260 | # End of https://www.toptal.com/developers/gitignore/api/vue,hexo,linux,macos,vuejs,windows,visualstudiocode,node -------------------------------------------------------------------------------- /.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/.nojekyll -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | sunnycapturer.xmuli.tech -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SunnyCapturer 2 | 3 | [tags](https://github.com/XMuli/SunnyCapturer/releases) [Total Downloads](https://github.com/XMuli/SunnyCapturer/releases) 4 | 5 | SunnyCapturer is a simple and beautiful cross-platform screenshot software that supports OCR for extracting text from images, image translation, custom stickers, and pinning images to the screen. 6 | 7 | - Official Website & Downloads & User Guide: [http://sunnycapturer.xmuli.tech](http://sunnycapturer.xmuli.tech/) 8 | - Source Code Repository: [https://github.com/SunnyCapturer](https://github.com/SunnyCapturer) 9 | - Contribute Translations: [translations](https://github.com/SunnyCapturer/translations) 10 | 11 | - Microsoft Store Download:[SunnyCapturer](https://apps.microsoft.com/detail/9N1TPFK4NCBL) 12 | 13 | [](https://apps.microsoft.com/detail/9N1TPFK4NCBL?mode=direct) 14 | 15 | 16 | 17 |
18 | 19 |

20 | 21 | # Feedback & Suggestions 22 | 23 | If you encounter any bugs, have improvement suggestions, or wish to propose new features, please check the closed issues first. 24 | 25 | If you don’t find anything similar, feel free to open a new [issue](https://github.com/XMuli/SunnyCapturer/issues) to help track and resolve problems effectively. 26 | 27 |


28 | 29 | # Contact 30 | 31 | [![alt text](https://img.shields.io/badge/QQGroup-418103279-brightgreen)](https://qm.qq.com/cgi-bin/qm/qr?authKey=5pYNrJL7%2F8biKzT5LMj8dbjkpPvUvdLVbAOcNTydiqTDNc49yg0wtVcub8Cu3Pqa&k=OluWZhjVMhwP-6RO9Y7FFkJcXGiS4CVk&noverify=0) [![alt text](https://img.shields.io/badge/GitHub-XMuli-brightgreen)](https://github.com/XMuli) [![alt text](https://img.shields.io/badge/Email-xmulitech@gmail-117dd3)](mailto:xmulitech@gmail.com) 32 | 33 | 34 | 35 | 36 | 37 |


38 | 39 | 40 | 41 | # Running Demo 42 | 43 | ?> See [link](./supported_os.md) for details of supported operating system versions 44 | 45 | ### Windos 46 | 47 | ![win11_02](./_media/images/run_exhibition/win11_02.jpg) 48 | 49 | ![win11_03](./_media/images/run_exhibition/win11_03.jpg) 50 | 51 | 52 | 53 |
54 | 55 | 56 | 57 | ### Linux: 58 | 59 | **Debian12** 60 | 61 | ![Debian12_02](./_media/images/run_exhibition/Debian12_02.jpg) 62 | 63 | ![Debian12_03](./_media/images/run_exhibition/Debian12_03.jpg) 64 | 65 |
66 | 67 | **Ubuntu20.04-24.04** 68 | 69 | ![Ubuntu24.04_02](./_media/images/run_exhibition/Ubuntu24.04_02.jpg) 70 | 71 | ![Ubuntu24.04_03](./_media/images/run_exhibition/Ubuntu24.04_03.jpg) 72 | 73 | ![Ubuntu20.04_01](./_media/images/run_exhibition/Ubuntu20.04_01.jpg) 74 | 75 |
76 | 77 | **Deepin V23** 78 | 79 | ![Deepin23_02](./_media/images/run_exhibition/Deepin23_02.jpg) 80 | 81 | ![Deepin23_03](./_media/images/run_exhibition/Deepin23_03.jpg) 82 | 83 |
84 | 85 | **OpenKylin2.0** 86 | 87 | ![OpenKylin2.0_01](./_media/images/run_exhibition/OpenKylin2.0_01.jpg) 88 | 89 | 90 | 91 |
92 | 93 | 94 | 95 | ### macOS 96 | 97 | macos13-15 98 | 99 | ![macOS13_01](./_media/images/run_exhibition/macOS13_01.jpg) 100 | 101 | ![macOS13_02](./_media/images/run_exhibition/macOS13_02.jpg) 102 | 103 | 104 | 105 |
106 | 107 | 108 | 109 | ### Linux Deepin V23 (ARM64 & Loongson): 110 | 111 | **Deepin V23 ARM64:** 112 | 113 | ![ARM64_Deepin_V23](./_media/images/run_exhibition/ARM64_Deepin_V23.jpg) 114 | 115 | 116 | 117 | **Deepin V23 Loongson:** 118 | 119 | ![Loongson_Deepin_V23](./_media/images/run_exhibition/Loongson_Deepin_V23.jpg) 120 | -------------------------------------------------------------------------------- /_coverpage.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ![logo](/logo.svg) 4 | 5 | # SunnyCapturer 3.0 6 | 7 | > A simple and beautiful cross-platform screenshot software 8 | 9 | > 一款简单且漂亮的跨平台截图软件 10 | 11 | - Image Translation | 图片翻译 12 | - Offline OCR Extract text | 离线提取文本 (CPU/GPU) 13 | 14 | [Download](https://github.com/XMuli/SunnyCapturer/releases) 15 | [DowMicrosoft Store💕](https://apps.microsoft.com/detail/9N1TPFK4NCBL?mode=direct) 16 | [Feedback](https://github.com/XMuli/SunnyCapturer/issues) 17 | [Documentation](#sunnycapturer) 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /_media/SunnyCapturer_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/SunnyCapturer_01.png -------------------------------------------------------------------------------- /_media/images/en_windows_protected_your_PC_and_run.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/en_windows_protected_your_PC_and_run.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/ARM64_Deepin_V23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/ARM64_Deepin_V23.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/Debian12_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Debian12_01.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/Debian12_02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Debian12_02.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/Debian12_03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Debian12_03.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/Deepin23_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Deepin23_01.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/Deepin23_02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Deepin23_02.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/Deepin23_03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Deepin23_03.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/Loongson_Deepin_V23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Loongson_Deepin_V23.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/OpenKylin2.0_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/OpenKylin2.0_01.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/Ubuntu20.04_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Ubuntu20.04_01.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/Ubuntu20.04_02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Ubuntu20.04_02.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/Ubuntu20.04_03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Ubuntu20.04_03.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/Ubuntu24.04_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Ubuntu24.04_01.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/Ubuntu24.04_02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Ubuntu24.04_02.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/Ubuntu24.04_03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Ubuntu24.04_03.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/Ubuntu24.04_04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Ubuntu24.04_04.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/macOS13_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/macOS13_01.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/macOS13_02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/macOS13_02.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/win11_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/win11_01.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/win11_02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/win11_02.jpg -------------------------------------------------------------------------------- /_media/images/run_exhibition/win11_03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/win11_03.jpg -------------------------------------------------------------------------------- /_media/images/zh_windows_protected_your_PC_and_run.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/zh_windows_protected_your_PC_and_run.jpg -------------------------------------------------------------------------------- /_media/img/copy_dark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_media/img/counter_dark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_media/img/image_dark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_media/img/pin_dark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_media/img/save_dark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_media/img/save_file_dark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_sidebar.md: -------------------------------------------------------------------------------- 1 | - Guide 2 | - [Getting Started](/getting_started) 3 | 4 | - [Troubleshooting](/troubleshooting) 5 | - Advanced 6 | - [Extract Text(OCR)](/extract_text_ocr) 7 | - [Image Translation](/image_translation) 8 | - Document 9 | - [Supported OS](/supported_os) 10 | - [Technology Share](/development_technology) 11 | - Contribution 12 | - [Translation](/translation) 13 | - [Acknowledgement](/acknowledgement) 14 | - More 15 | - [Official Site](/office_site) 16 | - [Changelog](/changelog) 17 | 18 | 19 | -------------------------------------------------------------------------------- /acknowledgement.md: -------------------------------------------------------------------------------- 1 | Gladly, we extend heartfelt thanks to all contributors who have provided assistance, improvements, or suggestions. 🙇‍ 2 | 3 | 4 | 5 | #### Design 6 | 7 | - Designer: 0xHugoC 8 | 9 | 10 | 11 | #### International Translations 12 | 13 | see 👉 [translations](https://github.com/SunnyCapturer/translations) 14 | 15 | - [Thiago Dalsoto](https://github.com/thiagodalsoto): Portuguese (Brazil) Translation `(pt_br)` 16 | - [Toms Photoart](https://github.com/tomsphotoart): German Translation `(de)` 17 | - [coolvitto](https://github.com/coolvitto): Japanese Translation `(ja_jp)` 18 | 19 | 20 | 21 | 22 | 23 | #### Linux Porting 24 | 25 | - [shenmo](https://github.com/shenmo7192): Ported SunnyCapturer to ARM64 and Loongson64 platforms on Deepin V23, achieving successful operation 26 | - [spark-store Teams](https://gitee.com/spark-store-project/spark-store): Assisted in publishing the application on the Spark Store 27 | 28 | 29 | 30 | #### Application Store Publishing 31 | 32 | - [XXTXTOP](http://www.xiongshijie.top/): Assisted in publishing to the openKylin Store 33 | 34 | 35 | 36 | #### Beta User Group 37 | 38 | - [Issues](https://github.com/XMuli/SunnyCapturer/issues): Feedback from GitHub users 39 | - [QQ Group: 418103279](https://qm.qq.com/cgi-bin/qm/qr?authKey=5pYNrJL7%2F8biKzT5LMj8dbjkpPvUvdLVbAOcNTydiqTDNc49yg0wtVcub8Cu3Pqa&k=OluWZhjVMhwP-6RO9Y7FFkJcXGiS4CVk&noverify=0): User beta testing group 40 | - [User Forum](https://txc.qq.com/products/649489/): Suggestions and optimizations for user experience -------------------------------------------------------------------------------- /changelog.md: -------------------------------------------------------------------------------- 1 | ## v3.2 2 | 3 | > 2025.03.03 4 | 5 | **Version Optimization:** 6 | 7 | - Available on Microsoft Store [SunnyCapturer](https://apps.microsoft.com/detail/9N1TPFK4NCBL), welcome to download and experience! 8 | - Offline OCR performance upgrade: CPU and GPU recognition libraries have higher and faster accuracy. 9 | - Add OCR window to tray menu, support batch drag-and-drop image folder recognition. 10 | - Fix the bug that GPU feedback fails to run on some models [#72](https://github.com/XMuli/SunnyCapturer/issues/72) [#78](https://github.com/XMuli/SunnyCapturer/issues/78) 11 | 12 | 📢PS: GPU only supports NVIDIA, CUDA >= 12.3, recommended to use the latest version. 13 | 14 | 15 | 16 | ```bash 17 | [ENV Test model details] 18 | CPU:13th Gen Intel(R) Core(TM) i5-13600KF 19 | GPU: NVIDIA GeForce RTX 3060 Ti 20 | +-----------------------------------------------------------------------------------------+ 21 | | NVIDIA-SMI 566.36 Driver Version: 566.36 CUDA Version: 12.7 | 22 | |-----------------------------------------+------------------------+----------------------+ 23 | | GPU Name Driver-Model | Bus-Id Disp.A | Volatile Uncorr. ECC | 24 | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | 25 | | | | MIG M. | 26 | |=========================================+========================+======================| 27 | | 0 NVIDIA GeForce RTX 3060 Ti WDDM | 00000000:01:00.0 On | N/A | 28 | | 0% 44C P8 12W / 225W | 1498MiB / 8192MiB | 6% Default | 29 | | | | N/A | 30 | +-----------------------------------------+------------------------+----------------------+ 31 | ``` 32 | 33 | 20 test images natively, CPU took 52 seconds 113 milliseconds, **while GPU recognition took 3 seconds 678 milliseconds**, very scary speed, great(๑-̀ㅂ-́)و✧ experience 🚀🚀🚀 🚀 34 | 35 | 36 | 37 | ## v3.1.3 38 | 39 | > 2025.02.18 40 | 41 | **Version optimization:** 42 | 43 | - Some models may fail to boot up [#76](https://github.com/XMuli/SunnyCapturer/issues/76) 44 | - Some experience optimizations 45 | 46 | 47 | 48 | ## v3.1.2 49 | 50 | > 2025.02.06 51 | 52 | **Version optimization:** 53 | 54 | - Appimage version of Linux cannot change language [#32](https://github.com/XMuli/SunnyCapturer/issues/32) 55 | - Linux supports packages from native ArchLinux distributions `*.pkg.tar.zst` [#41](https://github.com/XMuli/SunnyCapturer/issues/41) 56 | - Why Linux Appimage configuration is not persistent [#60](https://github.com/XMuli/SunnyCapturer/issues/60) 57 | - Default language after boot is English, need to exit and reboot to show Chinese [#68](https://github.com/XMuli/SunnyCapturer/issues/68) 58 | - Maps have limited zoom ratio [#71](https://github.com/XMuli/SunnyCapturer/issues/71) 59 | - Output image quality setting not working [#73](https://github.com/XMuli/SunnyCapturer/issues/73) 60 | - Fixed border color switching failure 61 | - Optimize the window for detecting software updates 62 | 63 | 64 | 65 | ## v3.1.1 66 | 67 | > 2025.01.20 68 | 69 | **Version Optimization:** 70 | 71 | - Updated Portuguese-Brazilian language translation 72 | - Optimize packaged file size 73 | - Fixed and optimized some bugs 74 | 75 | 76 | 77 | ## v3.1 78 | 79 | > 2025.01.06 80 | 81 | **Version Optimization:** 82 | 83 | - Added translation: Japanese, thanks to [coolvitto](https://github.com/coolvitto) 84 | - Fix multi-screen capture exception on Linux #64 85 | - Fixed shortcut key to repeat last screenshot area not working #64 86 | - Fix theme color effect in Tooltop #63 87 | - Optimize runtime detection logic for installers 88 | - Build scripts to automate Win and Linux packaging. 89 | 90 | 91 | 92 | ## v3.0 93 | 94 | > 2025.01.01 95 | 96 | New year, new version upgrade, bring different feeling 🎀; new official website and user manual [https://sunnycapturer.xmuli.tech](https://sunnycapturer.xmuli.tech/) 97 | 98 | **Features:** 99 | 100 | - OCR text extraction, online and offline mode 101 | - Image translation, support 100+ languages 102 | - Customizable stickers 103 | - Pin images to desktop 104 | - Light and dark themes 105 | - New logo activation 106 | 107 | 108 | 109 | ## v2.4 110 | 111 | > 2024.12.02 112 | 113 | **Changelog:** 114 | 115 | - Changed styling to a navigation bar format. 116 | - Fixed an issue where pressing **C** and **Shift** while using the magnifying glass had no effect. 117 | - special thanks to @thiagodalsoto for providing Brazilian Portuguese translations 118 | - Additional bug fixes and experience improvements. 119 | 120 | **Q&A:** 121 | 122 | **Linux / Mac** 123 | 124 | - **Q1: Linux won't run after installing a new version?** 125 | Uninstall Sunny version 1.x or earlier, and try removing old configuration files ` rm -rf ~/.config/Sunny/*` 126 | 127 | 128 | - **Q2: On Ubuntu 24.04, screenshots capture a white desktop. Why?** 129 | To support more Linux distributions, Sunny 1-2.x currently supports only `x11` and does not support `Wayland` (Ubuntu's default). Switch to `x11` with the following steps (details in [#55](https://github.com/XMuli/SunnyCapturer/issues/55): 130 | 131 | ```bash 132 | sudo vim /etc/gdm3/custom.conf 133 | # Uncomment the line: WaylandEnable=false, then save the file. 134 | sudo systemctl restart gdm3 # Reboot the system 135 | ``` 136 | 137 | - **Q3: How can I use Sunny on non-Debian-based distributions?** 138 | Please download and use the `sunny_x64.AppImage` package. For a list of supported Linux distributions, refer to [supportp_platform](https://sunny.xmuli.tech/article/supportp_platform.html). 139 | 140 | - **Q4: How can I download Sunny for ARM and LOONGSON chips?** 141 | You can download [v1.6.2](https://github.com/XMuli/SunnyCapturer/releases/tag/v1.6.2). When build machines become available, version 2.x will also be uploaded. 142 | 143 | - **Q5: Why can’t Sunny run on my Mac?** 144 | Currently, Sunny supports only Intel-based Macs and does not support M-series chips. 145 | 146 | - ps: The next version is expected to support Mac's M-series chips and the Linux Wayland architecture. 147 | 148 | 149 | 150 | **Offline OCR (CPU & GPU)** 151 | 152 | > Extract text from images using a local offline engine. 153 | 154 | - No registration or key input required. 155 | - Fully offline, with all processing done locally. 156 | - Supports both CPU and GPU modes: 157 | - **CPU Version**: Highly compatible, uses less memory, processes single images quickly but is slower for batch processing (recommended for general users). 158 | - **GPU Version**: Supports NVIDIA GPUs, uses more memory, but processes batch images significantly faster (1/2 to 1/3 the time of the CPU version, recommended for advanced users with NVIDIA cards). 159 | - Only supports 64-bit Windows systems. Both versions handle single and batch image recognition. Simply drag and drop images into the window. 160 | 161 | 162 | 163 | ## v2.3 164 | 165 | > 2024.10.17 166 | 167 | This is a major version of the feature update, welcome to use and feedback! 168 | 169 | **Features.** 170 | - Support online and offline engine, “Extract Text(OCR)”. 171 | - Support online “Picture Translation”, 30+ languages translation. 172 | - Support offline local “OCR” engine, support both CPU and GPU modes. 173 | - Support using private key for OCR and image translation. 174 | - Support algorithm switching and closing of auto-detection windows. 175 | - Tray menu support provides richer options 176 | - Support for logging module 177 | - Updated multi-language translations (Thanks to @thiagodalsoto for the Portuguese-Brazilian translation) 178 | - Interface optimization and adaptation to more Linux distributions. 179 | 180 | **Fixes.** 181 | - Linux crashes when clicking on updates with .AppImage #47 182 | - AppImage crashes when clicking on update for Linux #47 Dark theme icons are not visible in some distributions such as Linux KDE #49 183 | - Screenshot startup lags a bit #50 184 | - Other bug fixes 185 | 186 | **Note:** 187 | - For Linux distributions, if you have installed a lower version such as `1.x`, if you encounter a runtime failure, please run `$ rm -rf ~/.config/Sunny` in the terminal first, and then it will run successfully. 188 | 189 | **Cross-platform text extraction (OCR):** 190 | 191 | **Debian OCR:**
192 |
193 | 194 | **Deepin V23 OCR:**
195 |
196 | 197 | 198 | 199 | ## v2.2.1 200 | 201 | > 2024.09.21 202 | 203 | **Major version 2.2.1 is officially released🎉🎉🎉** 204 | 205 | - Beautiful UI/UX styles 206 | - Architecture reorganization 207 | - New version detection 208 | - Support offline OCR: support vertical Chinese character recognition, horizontal layout recognition. 209 | 210 | **Attention:** 211 | 212 | - The current version only supports offline OCR for `sunny_protable_2.2.1_x64_offline_ocr.zip` and `sunny_setup_2.2.1_x64_offline_ocr.exe`; If you want to use “Image Translation” and “Online OCR”, please download [v1.6.3](https://github.com/XMuli/SunnyCapturer/releases/tag/v1.6.3). 213 | - For Linux distributions, if some users have installed version 1.x, if the program fails to run, please execute `$ rm -rf ~/.config/Sunny` in the terminal first, and then it will run successfully. 214 | 215 | 216 | 217 | ## v2.1 (Pre) 218 | 219 | > 2024.09.17 220 | 221 | **Happy Mid-Autumn Festival 🌕** 222 | 223 | Note: This is a test version of internal channel, some functions are unstable. It is provided for internal test users and taste test use, feedback of defects and suggestions are welcome. 224 | 225 | - Support smart window recognition (tab Button to switch levels) 226 | - Fix text editing 227 | - and fix some bugs 228 | 229 | 230 | 231 | ## v2.0 (Pre) 232 | 233 | > 2024.09.7 234 | 235 | **Note: This is an internal beta version, the function is not stable yet.** 236 | Supports offline version of OCR for image text extraction, Support vertical text recognition. **Please download the program with `_with_offline_ocr` in the name to support the offline OCR function.** 237 | 238 | 239 | 240 | 241 | 242 | ## v1.6.3 243 | 244 | > 2024.05.28 245 | 246 | **It is also in its own use, actively developing and improving its experience; Fix some bugs and optimize some UI styles to improve user experience. (Lots of improvements)** 247 | 248 | **Functions** 249 | 250 | - Added “German” translation 251 | - Updated “Portugal-Brazil” translation. 252 | - Support operation guide tips window 253 | 254 | **Fixes** 255 | 256 | - Crosshairs block the magnifying glass area [#25](https://github.com/XMuli/SunnyCapturer/issues/25) 257 | - Size anomaly after stretching selected rectangle when clicking in Linux [#26](https://github.com/XMuli/SunnyCapturer/issues/26) 258 | - Tray preview translation doesn't work immediately [#19](https://github.com/XMuli/SunnyCapturer/issues/19) 259 | - Other minor optimizations 260 | 261 | **Contribute** 262 | 263 | Thanks to [@thiagodalsoto](https://github.com/thiagodalsoto) for the Portuguese-Brazilian translation and to @Kthargas for the German translation; 264 | 265 | to contribute a translation, please click on the [link](https://github.com/XMuli/SunnyCapturer/tree/master/translations); Here is the full [list of acknowledgements🙇‍](https://sunny.xmuli.tech/acknowledgement.html) 266 | 267 | 268 | 269 | ## v1.6.2 270 | 271 | > 2024.05.21 272 | 273 | **Sunny Screenshot New Website:** [sunny.xmuli.tech](https://sunny.xmuli.tech/) 📢: [English issues](https://github.com/XMuli/SunnyCapturer/issues) | [中文讨论组](https://txc.qq.com/products/649489) 274 | 275 | **Functions** 276 | 277 | - Support “Portugal-Brazil” translation. 278 | - Support displaying quasar cursor in drawing state 279 | - Support immersive display for image translation 280 | - Support shortcut keys for OCR and image translation 281 | - Support OCR new window design, remember the last stretch ratio 282 | - Optimize OCR to switch available lines automatically 283 | - Optimize saving images will use the last suffix format by default [#16](https://github.com/XMuli/SunnyCapturer/issues/16) 284 | - Optimize seamless upgrade solution for Linux GUI installation DEB. 285 | - Optimize cross-platform output of logs 286 | 287 | **Fixes** 288 | 289 | - Toolbar and parameter information bar may intersect and overwrite [#13](https://github.com/XMuli/SunnyCapturer/issues/13) 290 | - Failure to save after configuration [#12](https://github.com/XMuli/SunnyCapturer/issues/12) 291 | - Debian12 + KDE fractional scaling, display exception bugs 292 | - Toolbars are not fully displayed at screen boundaries 293 | - Old hotkey combinations are not canceled when hotkeys are deleted. 294 | - Tray area icon is not displayed under Debian system. 295 | - Text edit box fails when switching colors 296 | 297 | **UI interface** 298 | 299 | - Added color picker and magnifying glass function [#13](https://github.com/XMuli/SunnyCapturer/issues/13) 300 | - Add detailed information about monitor layout. 301 | - Adjust the height of main window 302 | - Toolbar vertical mode, add lighter scribe line 303 | 304 | **Contribute** 305 | 306 | Thanks to [@thiagodalsoto](https://github.com/thiagodalsoto) for the Portuguese-Brazilian language translation; to contribute a translation, please click on the [link](https://github.com/XMuli/SunnyCapturer/tree/master/translations); Here is the full [list of acknowledgements🙇‍](https://sunny.xmuli.tech/acknowledgement.html) 307 | 308 | 309 | 310 | 311 | 312 | ## v1.5 313 | 314 | > 2024.04.16 315 | 316 | **It is also in its own use, actively developing and improving its experience; Fix many bugs and optimize some UI styles to improve user experience. (Lots of improvements)** 317 | Fixes 318 | 319 | - Shortcut keys for the first level toolbar are not working 320 | - Auto Window Detection that mistakenly catches non-displayed system windows 321 | - Exception logic of auto-save and quick-save 322 | 323 | UI enhancement 324 | 325 | - The first and second level toolbars adopt highlight color; and there are acrylic frosted and common border effects. 326 | - The style of ToolTip in the primary toolbar is white background. 327 | - Support zoom tip percentage in pinning window, default 2 seconds. 328 | - Design Tokens UI with QStackedWidget effect. 329 | - Hide the corners of the Sunny border 330 | - Highlight color effect for checkboxes 331 | 332 | Optimization 333 | 334 | - Optimize auto-detect window size without shadow area 335 | - Optimize backend data storage, .ini changed to .json format. 336 | - OCR with _local option, the extracted text has a neat layout format. 337 | - OCR provides configuration parameters to customize the error data to fine-tune the layout accuracy. 338 | - New "Engineer Advanced" switch: save image with window details. 339 | 340 | Other etc. 341 | 342 |
343 | 344 | **Acknowledgments:** 345 | Thanks to [shenmo](https://github.com/shenmo7192) and the [Spark-Store](https://gitee.com/spark-store-project/spark-store) team for their help and support in porting it to the ARM and Longxin architectures. The program can also be downloaded directly from the Spark Store 346 | `sunny_1.5.0_arm64.deb`, `sunny_1.5.0_loong64.deb` This architecture is only supported on deepin V23, Debian 12+ platforms; 347 | 348 | 349 | 350 | ## v1.4 351 | 352 | > 2024.03.27 353 | 354 | - Support channel switching, "OCR" and "Images Translate". 355 | - Increase the number of recognition times 356 | - OCR times increased to **3500 times/month** 357 | - Increase the number of picture recognition to **10000 times/year** + Others 358 | - Adopt new style pop-up window design. 359 | - Optimise and fix some bugs 360 | - more: [Wiki: 6. Image Translation & OCR](https://github.com/XMuli/SunnyCapturer/wiki/6.-Image-Translation-&-OCR-|-图片翻译-&-文字提取) 361 | 362 | 363 | 364 | ## v1.3 365 | 366 | > 2024.02.01 367 | 368 | Recently, Sunny's screenshot got promoted by well-known internet users and software websites, suddenly gaining a lot of traffic and stars. It's an unexpected delight. 369 | 370 | This project started in 2023 and will be developed and maintained for at least ten years, and it's free! Additionally, since this version has added code signing, please verify the original files after downloading. 371 | 372 |
373 | 374 | For the **Translate** and **OCR** functions, the private accounts of the individuals who use them are now supported and can be entered by themselves if needed: 375 | 376 | - **Baidu Interface** [https://console.bce.baidu.com/ai](https://console.bce.baidu.com/ai) 377 | 378 | Image Text Extraction ``OCR API - Baidu API - Text Recognition`` 379 | 380 | 1. Universal Text Recognition (Standard) 381 | 2. Universal Text Recognition (Standard with Position) 382 | 3. Universal Text Recognition (High Accuracy) 383 | 4. Universal Text Recognition (high-precision version with location) → Most Recommended 384 | 385 | 386 | - **Youdou Interface** [https://ai.youdao.com/console](https://ai.youdao.com/console) 387 | 388 | Translate Chinese, Japanese, English, Korean, Japanese, etc. ``Translate - Natural Language Translation Service - Image Translation`'' 389 | 390 | --- 391 | 392 | **Code Signing Certificate:** 393 | In addition, since this version has been added code signature, after downloading, please check the code signature of the file is consistent with the following. 394 | 395 | **Acknowledgments: 2024.03.01** 396 | 397 | 398 | 399 | ## v1.2 400 | 401 | > 2023.11.20 402 | 403 | **New Features:** 404 | 405 | - Support "Picture Translation" and "OCR Picture Recognition Text". 406 | - Fix some bugs, and optimize painting 407 | - Sunny uploaded to UOS/Deepin Store and Spark Store. 408 | 409 | 410 | 411 | ## v1.1 412 | 413 | > 2023.10.28 414 | 415 | **Sunny is a simple and beautiful screenshot software tool for Windows, MacOS and Linux.** 416 | 417 | **Features** 418 | 419 | - Support for various system style themes. 420 | - Customizable transparent frosted glass effect (acrylic). 421 | - Switchable orientation for the drawing toolbar: horizontal or vertical. 422 | - Support for high-contrast color theme switching (via configuration file modification). 423 | - Capabilities for regular screenshots, delayed screenshots, and custom screenshots. 424 | - Quick and automatic saving options. 425 | - Screen detection for capturing window content (window information and window depth). 426 | - Ability to pin images to the screen with scaling and transparency settings. 427 | - Simultaneous support for multiple text formats during editing. 428 | - And more. 429 | 430 | **update:** 431 | 432 | - Port to Deepin V20.9 compiled and ran successfully. 433 | - Added the shadow effect of pins on the screen 434 | - Updated translations (Chinese-Simplified, Chinese-Traditional). 435 | 436 | 437 | 438 | ## v1.0 439 | 440 | > 2023.10.28 441 | 442 | Celebrating the release of the first official version v1.0.0 🎉🎉🎉🎉 443 | 444 | Simple and beautiful screenshot software tool for Windows, MacOS and Linux. 445 | Welcome to use it and give feedback on bugs / suggestions. and It is also possible to suggest features that you would like to see implemented. Active development, happy programmer's day. 446 | -------------------------------------------------------------------------------- /development_technology.md: -------------------------------------------------------------------------------- 1 | 2 | ?> In the period after the writing and release, also encountered a lot of private chat please teach, into the QQ group, or e-mail communication of a function to achieve? Feedback Bug and give tips and suggestions; most of them are given to the Q&A, but I think it can be written as a whole collection, he encountered difficulties in the point of record, open out to provide later developers reference. 3 | 4 | 5 | 6 | ## Series address 7 | 8 | [QtExamples](https://github.com/XMuli/QtExamples) Welcome `star` ⭐ and `fork` 🍴 This series of `C++ / QT / DTK` learning, with a catalog of learning from the beginning to the end, where you can learn how to write this kind of software yourself. This is a complete series of tutorials, and **forever free**! 9 | 10 | 11 | 12 | ## Related Code Open Source 13 | 14 | - Official Website & Download & User Manual:[http://sunnycapturer.xmuli.tech](http://sunnycapturer.xmuli.tech/) 15 | - Related code open source:[https://github.com/SunnyCapturer](https://github.com/SunnyCapturer) 16 | 17 | Share some of their own written complete screenshot software project , as a guide to North 18 | 19 | | Name | License | Describe | 20 | | :----------------------------------------------------------: | :-----------: | :----------------------------------------------------- -----: | 21 | | [FLIPPED](https://github.com/SunnyCapturer/FLIPPED) | MIT | A simple and beautiful cross-platform screenshot and pinning software.
Sunny's predecessor, a small but complete project with intermediate difficulty. | 22 | | [ShotX](https://github.com/SunnyCapturer/ShotX) | MIT | A minimalist cross-platform screenshot tool, easy difficulty. | 23 | | [SunnyCapturer](https://github.com/orgs/SunnyCapturer/repositories) | Organizations | Related open-source projects of SunnyCapturer: including custom controls, project ideas, and more. | 24 | 25 |
26 | 27 | ## For more development experience, please refer to 28 | 29 | 👉 [See here](https://sunnycapturer.xmuli.tech/#/zh-cn/development_technology) 30 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/favicon.ico -------------------------------------------------------------------------------- /getting_started.md: -------------------------------------------------------------------------------- 1 | [tags](https://github.com/XMuli/SunnyCapturer/releases) [Total Downloads](https://github.com/XMuli/SunnyCapturer/releases) 2 | 3 | SunnyCapturer is a simple and beautiful cross-platform screenshot software that supports `OCR for extracting text from images`, `image translation`, `custom stickers`, and `pinning images to the screen`. 4 | 5 | 6 | ## Screenshots 7 | 8 | **Start Capturing Screenshots** 9 | 10 | - Press the `F1` hotkey 11 | - Click or double-click the system tray icon 12 | - Right-click the system tray icon, then select the `Screenshot` option 13 | 14 | 15 | 16 | **Cancel Capturing Screenshots** 17 | 18 | - Press the `Esc` key 19 | - Click the cancel button in the toolbar 20 | 21 | 22 | 23 | **Save Selected Screenshot** 24 | - Copy to clipboard (Copy to Clipboard / `Ctrl` + `C` / `Enter` / `Double-click` the screenshot area) 25 | - Save to a file (Save Screenshot / `Ctrl` + `S`) 26 | - Save as pinned image (Pin Image / `P`) 27 | - Quickly save the screenshot (`Ctrl` + `Shift` + `S`) 28 | 29 | 30 | 31 | ## Annotations 32 | 33 | Select the screenshot area using the primary toolbar to access basic annotation and drawing tools. Use the secondary toolbar for advanced options. 34 | 35 | - **Basic Tools**: Rectangle, ellipse, arrow, pencil, mosaic, text, sticker, numbering, eraser 36 | - **Advanced Tools**: OCR text extraction, image translation 37 | - **Additional Features**: Undo, redo, cancel screenshot, pin image, manually save image, copy image to clipboard 38 | - **Hidden Features**: Hotkey-based save, auto-save 39 | 40 | 41 | 42 | ## Stickers 43 | 44 | Choose an image from your local drive to use as a sticker on the screenshot. Hover over the top-center to rotate the sticker 360°, or use the edges to resize the sticker. 45 | 46 | - Add a sticker to the selected screenshot area (Add Sticker) 47 | 48 | 49 | 50 | ## Numbered Annotations 51 | 52 | - Sequential numbering for annotations (Numbering) 53 | 54 | 55 | 56 | ## Magnifier / Color Picker 57 | 58 | - When the magnifier is visible, press `C` to copy the pixel's color value (RGB / HEX / FLT). 59 | - Press `Shift` to toggle color formats. 60 | 61 | 62 | 63 | ## Adjust Brush Width 64 | 65 | - Scroll the mouse wheel, and the current brush width will be displayed in the top-left corner of the screen. 66 | 67 | 68 | 69 | ## Additional Features 70 | 71 | For more details, refer to the UI hints, tooltips, or guidance in the bottom-left corner of the screen. -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | SunnyCapturer 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 19 |
20 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /office_site.md: -------------------------------------------------------------------------------- 1 | ?> SunnyCapturer is a simple and beautiful cross-platform screenshot software that supports OCR for extracting text from images, image translation, custom stickers, and pinning images to the screen. 2 | 3 | 4 | 5 | [](https://apps.microsoft.com/detail/9N1TPFK4NCBL?mode=direct) 6 | 7 | 8 | 9 | - Official Website & Download & Doc: [http://sunnycapturer.xmuli.tech](http://sunnycapturer.xmuli.tech/) 10 | - open source Code: [https://github.com/SunnyCapturer](https://github.com/SunnyCapturer) 11 | 12 | 13 | 14 | - *Transition official website: [https://sunny.xmuli.tech](https://sunny.xmuli.tech)* 15 | -------------------------------------------------------------------------------- /translation.md: -------------------------------------------------------------------------------- 1 | The corresponding `*.ts` translation files can be found at [translations](https://github.com/SunnyCapturer/translations). Once the translation is complete, please submit a pull request (PR). 2 | 3 | It is recommended to download [Qt Linguist](https://github.com/lelegard/qtlinguist-installers/releases) to open and translate the `.ts` files. The README provides a detailed guide. 4 | 5 | If you need any help or have any questions, feel free to reach out to me in any comment section. 6 | -------------------------------------------------------------------------------- /troubleshooting.md: -------------------------------------------------------------------------------- 1 | Below are common errors you might encounter while using SunnyCapturer and their solutions. 2 | 3 | 4 | 5 | ## Windows 6 | 7 | **Error: Missing api-ms-win-crt-runtime-l1-1-0.dll upon running** 8 | 9 | - Your operating system lacks the required Microsoft VC++ runtime library. Depending on your system version (32-bit/64-bit), download and install the appropriate version of the **Microsoft Visual C++ 2015-2022 Redistributable Package**: [32-bit](https://aka.ms/vs/17/release/vc_redist.x86.exe) | [64-bit](https://aka.ms/vs/17/release/vc_redist.x64.exe) 10 | 11 | 12 | 13 | **Windows protected your PC** 14 | 15 | - Click "More Info" and then "Run Anyway." 16 | - This occurs because SunnyCapturer is not digitally signed with an enterprise certificate. If you downloaded it from the [official website](https://sunnycapturer.xmuli.tech), it is safe to use. However, a personal code signing certificate has been applied. Once this version accumulates a sufficient number of users on Microsoft Windows, this prompt will no longer appear. 17 | 18 | 19 | 20 | 21 | 22 | **Windows SmartScreen has blocked an unrecognized app** 23 | 24 | - Click "More Info" and then "Run Anyway." 25 | - This occurs because SunnyCapturer is not digitally signed with an certificate. If you downloaded it from the [official website](https://sunnycapturer.xmuli.tech), it is safe to use. 26 | 27 | 28 | 29 | ## Linux 30 | 31 | ?> For Debian-based distributions, `.deb` offline packages are available. For other Linux distributions, use the `.AppImage` package. Note: SunnyCapturer only supports the `x11` architecture and does not support `Wayland` yet. 32 | 33 | 34 | 35 | > Debian-based distributions: Use `.deb` packages whenever possible. 36 | 37 | **White screen appears after taking a screenshot on Ubuntu 24.04** 38 | 39 | - By default, Ubuntu 24.04 uses `Wayland`, but SunnyCapturer only supports `x11`. To resolve this, switch Ubuntu to `x11` mode: Edit the configuration file: [#55](https://github.com/XMuli/SunnyCapturer/issues/55) 40 | ```bash 41 | sudo vim /etc/gdm3/custom.conf 42 | # at the beginning of the line WaylandEnable=false to uncomment it, then save the file. 43 | sudo systemctl restart gdm3 // reboot the system 44 | ``` 45 | 46 | 47 | 48 | **OCR and image translation services are unresponsive on Ubuntu 20.04** 49 | 50 | - The built-in SSL version of Ubuntu 20.04 is outdated, resulting in the following errors: 51 | ``` 52 | qt.tlsbackend.ossl: Incompatible version of OpenSSL (built with OpenSSL >= 3.x, runtime version is < 3.x) 53 | qt.network.ssl: Active TLS backend does not support key creation 54 | qt.network.ssl: The backend "cert-only" does not support QSslSocket 55 | qt.network.ssl: The backend named "cert-only" does not support TLS 56 | ``` 57 | Solution: Upgrade the SSL library to version 3.0 or above, or update your OS to Ubuntu 22.04/24.04+. 58 | 59 | 60 | 61 | > Non-Debian distributions: Use `.AppImage` packages. 62 | 63 | **Changes to configuration files are not retained in `.AppImage` packages** 64 | 65 | - This is a limitation of the `.AppImage` format. Configuration files located within the AppDir cannot be modified. While this issue has no current resolution, it does not affect the functionality of the software. 66 | 67 | 68 | 69 | ## macOS 70 | 71 | ?> Version 1.x–2.x supports Intel chips only, while version 3.x supports both Apple M chips and Intel chips. 72 | 73 | 74 | 75 | **Cannot install the .dmg file** 76 | 77 | - Try right-clicking the file and selecting "Open." 78 | - After opening the `.dmg` file, drag the `.app` file into the `Finder` -> `Applications` folder. 79 | 80 | 81 | 82 | **Only the desktop is visible during screenshots** 83 | 84 | - macOS 10.14 and later require screen recording permissions. Go to `System Preferences` -> `Security & Privacy` -> `Privacy` -> `Screen Recording` and add SunnyCapturer. 85 | - If SunnyCapturer is already checked but the issue persists, uncheck it, quit SunnyCapturer, re-enable the permission, and then restart SunnyCapturer. -------------------------------------------------------------------------------- /zh-cn/README.md: -------------------------------------------------------------------------------- 1 | # SunnyCapturer 2 | 3 | [tags](https://github.com/XMuli/SunnyCapturer/releases) [Total Downloads](https://github.com/XMuli/SunnyCapturer/releases) 4 | 5 | SunnyCapturer 是一款简单且漂亮的跨平台截图软件工具,支持 OCR 从图片中提取文本、图片翻译、自定义贴图、以及图片钉在屏幕上等功能。 6 | 7 | 8 | - 官网 & 下载 & 用户手册:[http://sunnycapturer.xmuli.tech](http://sunnycapturer.xmuli.tech/) 9 | - 相关代码开源:[https://github.com/SunnyCapturer](https://github.com/SunnyCapturer) 10 | - 参与翻译:[translations](https://github.com/SunnyCapturer/translations) 11 | - 微软商店下载:[SunnyCapturer](https://apps.microsoft.com/detail/9N1TPFK4NCBL) 12 | 13 | [](https://apps.microsoft.com/detail/9N1TPFK4NCBL?mode=direct) 14 | 15 | 16 | 17 |


18 | 19 | 20 | 21 | # 反馈 / 建议 22 | 23 | 若使用过程中发现任何缺陷 BUG、改进建议、支持的新功能,请先尝试搜索已关闭的 issues, 24 | 25 | 若没有类似的,请提交一个新的 [issue](https://github.com/XMuli/SunnyCapturer/issues),便于问题的跟踪及解决。 26 | 27 | 28 | 29 |


30 | 31 | 32 | 33 | # 联系 34 | 35 | [![alt text](https://img.shields.io/badge/QQ用户内测群-418103279-brightgreen)](https://qm.qq.com/cgi-bin/qm/qr?authKey=5pYNrJL7%2F8biKzT5LMj8dbjkpPvUvdLVbAOcNTydiqTDNc49yg0wtVcub8Cu3Pqa&k=OluWZhjVMhwP-6RO9Y7FFkJcXGiS4CVk&noverify=0) [![alt text](https://img.shields.io/badge/GitHub-XMuli-brightgreen)](https://github.com/XMuli) [![alt text](https://img.shields.io/badge/Email-xmulitech@gmail-117dd3)](mailto:xmulitech@gmail.com) 36 | 37 | 38 | 39 | 40 | 41 |


42 | 43 | 44 | 45 | # 运行效果 46 | 47 | ?> 详细支持的操作系统版本参考 [这里](./supported_os.md) 48 | 49 | ### Windos 50 | 51 | ![win11_02](./../_media/images/run_exhibition/win11_02.jpg) 52 | 53 | ![win11_03](./../_media/images/run_exhibition/win11_03.jpg) 54 | 55 | 56 | 57 |
58 | 59 | 60 | 61 | ### Linux: 62 | 63 | **Debian12** 64 | 65 | ![Debian12_02](./../_media/images/run_exhibition/Debian12_02.jpg) 66 | 67 | ![Debian12_03](./../_media/images/run_exhibition/Debian12_03.jpg) 68 | 69 |
70 | 71 | **Ubuntu20.04-24.04** 72 | 73 | ![Ubuntu24.04_02](./../_media/images/run_exhibition/Ubuntu24.04_02.jpg) 74 | 75 | ![Ubuntu24.04_03](./../_media/images/run_exhibition/Ubuntu24.04_03.jpg) 76 | 77 | ![Ubuntu20.04_01](./../_media/images/run_exhibition/Ubuntu20.04_01.jpg) 78 | 79 |
80 | 81 | **Deepin V23** 82 | 83 | ![Deepin23_02](./../_media/images/run_exhibition/Deepin23_02.jpg) 84 | 85 | ![Deepin23_03](./../_media/images/run_exhibition/Deepin23_03.jpg) 86 | 87 |
88 | 89 | **OpenKylin2.0** 90 | 91 | ![OpenKylin2.0_01](./../_media/images/run_exhibition/OpenKylin2.0_01.jpg) 92 | 93 | 94 | 95 |
96 | 97 | 98 | 99 | ### macOS 100 | 101 | macos13-15 102 | 103 | ![macOS13_01](./../_media/images/run_exhibition/macOS13_01.jpg) 104 | 105 | ![macOS13_02](./../_media/images/run_exhibition/macOS13_02.jpg) 106 | 107 | 108 | 109 |
110 | 111 | 112 | 113 | ### Linux Deepin V23 (ARM64 & Loongson): 114 | 115 | **Deepin V23 ARM64:** 116 | 117 | ![ARM64_Deepin_V23](./../_media/images/run_exhibition/ARM64_Deepin_V23.jpg) 118 | 119 | 120 | 121 | **Deepin V23 Loongson:** 122 | 123 | ![Loongson_Deepin_V23](./../_media/images/run_exhibition/Loongson_Deepin_V23.jpg) 124 | -------------------------------------------------------------------------------- /zh-cn/_sidebar.md: -------------------------------------------------------------------------------- 1 | - 指南 2 | - [基础操作](/zh-cn/getting_started) 3 | 4 | - [故障排除](/zh-cn/troubleshooting) 5 | - 高级 6 | - [提取文字](/zh-cn/extract_text_ocr) 7 | - [图片翻译](/zh-cn/image_translation) 8 | - 文档 9 | - [平台兼容](/zh-cn/supported_os) 10 | - [技术分享](/zh-cn/development_technology) 11 | - 贡献 12 | - [帮助翻译](/zh-cn/translation) 13 | - [鸣谢](/zh-cn/acknowledgement) 14 | - 更多 15 | - [官网&下载](/zh-cn/office_site) 16 | - [更新日志](/zh-cn/changelog) 17 | 18 | 19 | -------------------------------------------------------------------------------- /zh-cn/acknowledgement.md: -------------------------------------------------------------------------------- 1 | 欣欣然,十分感谢列举的参与人员,提供帮助改进或者建议 🙇‍ 2 | 3 | 4 | 5 | #### 设计 6 | 7 | - 设计师:0xHugoC 8 | 9 | 10 | 11 | #### 国际化翻译 12 | 13 | 参与👉 [translations](https://github.com/SunnyCapturer/translations) 14 | 15 | - [Thiago Dalsoto](https://github.com/thiagodalsoto): 提供 葡萄牙-巴西 翻译 `(pt_br)` 16 | - [Toms Photoart](https://github.com/tomsphotoart): 提供 德语 翻译 `(de)` 17 | - [coolvitto](https://github.com/coolvitto): 提供日本语 翻译 `(ja_jp)` 18 | 19 | 20 | 21 | #### Linux 移植 22 | 23 | - [shenmo](https://github.com/shenmo7192): 移植到 ARM64 和 Loongson64 平台上的 Deepin V23,可成功运行 24 | - [spark-store Teams](https://gitee.com/spark-store-project/spark-store) : 帮助上架星火商店 25 | 26 | 27 | 28 | #### 应用商店上架 29 | 30 | - [XXTXTOP](http://www.xiongshijie.top/): 帮助上架麒麟商店 31 | 32 | 33 | 34 | #### 内测用户群 35 | 36 | - [Issues](https://github.com/XMuli/SunnyCapturer/issues):GitHub 用户提的反馈 37 | 38 | - [QQ群: 418103279](https://qm.qq.com/cgi-bin/qm/qr?authKey=5pYNrJL7%2F8biKzT5LMj8dbjkpPvUvdLVbAOcNTydiqTDNc49yg0wtVcub8Cu3Pqa&k=OluWZhjVMhwP-6RO9Y7FFkJcXGiS4CVk&noverify=0): 用户内测群 39 | 40 | - [用户论坛](https://txc.qq.com/products/649489/): 用户体验上的建议和优化 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /zh-cn/changelog.md: -------------------------------------------------------------------------------- 1 | ## v3.2 2 | 3 | > 2025.03.03 4 | 5 | **版本优化:** 6 | 7 | - 已上架微软商店 [SunnyCapturer](https://apps.microsoft.com/detail/9N1TPFK4NCBL),欢迎下载体验 8 | - 离线 OCR 性能大升级: CPU 和 GPU 识别库具有更高,更快的准确率 9 | - 托盘菜单添加 OCR 窗口,支持批量拖曳图片文件夹识别 10 | - 修复某些机型 GPU 反馈运行失败 bug [#72](https://github.com/XMuli/SunnyCapturer/issues/72) [#78](https://github.com/XMuli/SunnyCapturer/issues/78) 11 | 12 | 📢PS: GPU 仅支持 NVIDIA,CUDA >= 12.3,推荐使用最新版本。 13 | 14 | 15 | 16 | ```bash 17 | [ENV 测试型号详情] 18 | CPU:13th Gen Intel(R) Core(TM) i5-13600KF 19 | GPU: NVIDIA GeForce RTX 3060 Ti 20 | +-----------------------------------------------------------------------------------------+ 21 | | NVIDIA-SMI 566.36 Driver Version: 566.36 CUDA Version: 12.7 | 22 | |-----------------------------------------+------------------------+----------------------+ 23 | | GPU Name Driver-Model | Bus-Id Disp.A | Volatile Uncorr. ECC | 24 | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | 25 | | | | MIG M. | 26 | |=========================================+========================+======================| 27 | | 0 NVIDIA GeForce RTX 3060 Ti WDDM | 00000000:01:00.0 On | N/A | 28 | | 0% 44C P8 12W / 225W | 1498MiB / 8192MiB | 6% Default | 29 | | | | N/A | 30 | +-----------------------------------------+------------------------+----------------------+ 31 | ``` 32 | 33 | 20 张测试图本机,CPU 耗时 52 秒 113 毫秒,而 GPU 识别耗时 3 秒 678 毫秒, 非常恐怖的速度,很棒(๑•̀ㅂ•́)و✧的体验🚀🚀🚀 34 | 35 | 36 | 37 | ## v3.1.3 38 | 39 | > 2025.02.18 40 | 41 | **版本优化:** 42 | 43 | - 部分机型可能开机启动失败 [#76](https://github.com/XMuli/SunnyCapturer/issues/76) 44 | - 部分使用体验优化 45 | 46 | 47 | 48 | ## v3.1.2 49 | 50 | > 2025.02.06 51 | 52 | **版本优化:** 53 | 54 | - Linux 的 Appimage 版本不能修改语言 [#32](https://github.com/XMuli/SunnyCapturer/issues/32) 55 | - Linux 支持原生 ArchLinux 发行版的包 `*.pkg.tar.zst` [#41](https://github.com/XMuli/SunnyCapturer/issues/41) 56 | - Linux 的 Appimage 的配置为什么不能持久化 [#60](https://github.com/XMuli/SunnyCapturer/issues/60) 57 | - 开机后的默认语言都是英文,需要退出后重启才显示中文 [#68](https://github.com/XMuli/SunnyCapturer/issues/68) 58 | - 贴图的放大比例有限 [#71](https://github.com/XMuli/SunnyCapturer/issues/71) 59 | - 输出的图像质量设置失效 [#73](https://github.com/XMuli/SunnyCapturer/issues/73) 60 | - 修复边框颜色切换失效 61 | - 优化检测软件更新窗口 62 | - 添加初次使用的引导提示 63 | 64 | 65 | 66 | ## v3.1.1 67 | 68 | > 2025.01.20 69 | 70 | **版本优化:** 71 | 72 | - 更新葡萄牙-巴西语言翻译 73 | - 优化打包的文件体积 74 | - 修复和优化一些 Bug 75 | 76 | 77 | 78 | ## v3.1 79 | 80 | > 2025.01.06 81 | 82 | **版本优化:** 83 | 84 | - 新增翻译:日本语,感谢 [coolvitto](https://github.com/coolvitto) 85 | - 修复 Linux 下多屏截图异常 #64 86 | - 修复快捷键重复上次截图区域失效 #64 87 | - 修复 Tooltop 的主题颜色效果 #63 88 | - 优化安装包的运行检测逻辑 89 | - 构建自动打包 Win 和 Linux 的脚本 90 | 91 | 92 | 93 | ## v3.0 94 | 95 | > 2025.01.01 96 | 97 | 新的一年,全新版本升级,带来不一样的感觉🎀;新的官网和用户手册 [https://sunnycapturer.xmuli.tech](https://sunnycapturer.xmuli.tech/) 98 | 99 | 100 | 101 | **特色功能:** 102 | 103 | - OCR 提取文本,在线和离线模式 104 | - 图片翻译,支持 100+ 种语言 105 | - 自定义贴图 106 | - 钉图于桌面 107 | - 浅色和暗色主题 108 | - 启用新的 LOGO 109 | 110 | 111 | 112 | ## v2.4 113 | 114 | > 2024.12.02 115 | 116 | **功能:** 117 | 118 | - 设置样式改为导航栏样式 119 | - 修复使用放大镜时,按下 C 和 Shift 不生效 120 | - 感谢 @thiagodalsoto 提供葡萄牙语-巴西语翻译 121 | - 更多bug修复和体验优化... 122 | 123 | **常见答疑** 124 | 125 | **Linux / Mac** 126 | 127 | - Q1:Linux 安装新版后,无法运行? 128 | 129 | 卸载低 1.x 版本,且尝试运行删除旧的配置文件 `rm -rf ~/.config/Sunny/*` 130 | 131 | - Q2:在 Ubuntu 24.04 截屏,捕捉的桌面为白色? 132 | 133 | Sunny 1-2.x 版本为兼容更多的 Linux 发行版,当前仅支持 `x11`,不支持 `Wayland` (Ubuntu 默认); 切换 `x11` 方式如下,详细参考 [#55](https://github.com/XMuli/SunnyCapturer/issues/55) 134 | 135 | ```bash 136 | sudo vim /etc/gdm3/custom.conf 137 | # at the beginning of the line WaylandEnable=false to uncomment it, then save the file. 138 | sudo systemctl restart gdm3 // reboot the system 139 | ``` 140 | 141 | - Q3: 非 Debian 系,如何使用? 142 | 143 | 请下载和使用 `sunny_x64.AppImage` 安装包;已知道支持的 Linux 发行版可参考 [已兼容平台](https://sunny.xmuli.tech/article/supportp_platform.html) 144 | 145 | - Q4:ARM 和 LOONGSON 芯片如何下载? 146 | 147 | 可先下载 [v1.6.2](https://github.com/XMuli/SunnyCapturer/releases/tag/v1.6.2);若编译机器有空时,2.x版本便会构建上传 148 | 149 | - Q5:Mac 无法运行? 150 | 151 | 同理,对于 Mac 当前仅支持 `intel` 芯片,不支持 `M` 系列芯片 152 | 153 | - ps: 预计下一个版本将会支持 Mac 的 M 芯片和 Linux Wayland 架构 154 | 155 | 156 | 157 | **离线 OCR (CPU & GPU)** 158 | 159 | > 通过本地离线引擎,离线提取图片中的文字 160 | 161 | - 无需要任何注册和 key 的输入 162 | - 全程断网离线本地运行和识别 163 | - 支持 CPU 和 GPU 模式(叉腰): 164 | - CPU 版本:通用性强,占用内存更少,对于单张图片解析快,批量图片耗时大(普通用户推荐) 165 | - GPU 版本:仅支持 N 卡,占用内用多,但对于批量解析大量图片,耗时是 CPU 版本是 1/2 ~ 1/3 时间,很快(高级 N 卡推荐) 166 | - 仅支持 win 64 bit 系统;均支持单张图片和批量图片识别解析,直接拖曳到窗口即可。 167 | 168 | 169 | 170 | ## v2.3 171 | 172 | > 2024.10.17 173 | 174 | 这是一个大版本功能的更新,欢迎使用和反馈 175 | 176 | **功能:** 177 | 178 | - 支持在线和离线引擎, "提取文本(OCR)" 179 | - 支持在线的 "图片翻译",30+语言翻译 180 | - 支持离线本地"提取文本(OCR)"引擎,支持 CPU 和 GPU 两种模式 181 | - 对 OCR 和图片翻译,支持使用私人 key 182 | - 支持自动检测窗口的算法切换和关闭 183 | - 托盘菜单支持提供更丰富的选项 184 | - 支持日志模块 185 | - 更新多语言的翻译(感谢 @thiagodalsoto 提供葡萄牙语-巴西语翻译) 186 | 187 | **修复:** 188 | 189 | - 界面优化和更多Linux发行版的适配 190 | - 记住上次使用的颜色和画笔宽度 191 | - OCR 独立窗口在保存图片时,无自动命名 192 | - 编辑文字时,发布时刻去掉框,且选择记住的字体 193 | - 字体宽度(小中大圆形控件)跟随滑轮滚动而变化 194 | - 字体默认为微软雅黑(宋体缩小时,会看不清楚) 195 | - Linux 下 .AppImage 格式更新会崩溃异常 #47 196 | 197 | - ubuntu unity(ubuntuunity.org) 22.04.1 LTS,其截图区域不对 198 | - 优化用户体验,软件开机后自动检测到无可用的新版本,屏蔽此场景的提示 199 | - Linux(KDE) 下暗色主题,其工具栏背景无法看清楚 #49 200 | - 截图启动有些卡顿 #50 201 | - 自动检测窗口支持切换算法和关闭 202 | - 其它一些 bug 的修复 203 | 204 | **注意:** 205 | - 对于 Linux 发行版,若安装过低版本 如 `1.x`,若遇到运行失败,请先终端执行 `$ rm -rf ~/.config/Sunny` 后,成功运行 206 | 207 | **Cross-platform text extraction (OCR):** 208 | 209 | **Debian OCR:**
210 |
211 | 212 | **Deepin V23 OCR:**
213 |
214 | 215 | 216 | 217 | ## v2.2.1 218 | 219 | > 2024.09.21 220 | 221 | **大版本 2.2.1 正式发布🎉🎉🎉** 222 | 223 | - 漂亮 UI/UX 样式 224 | - 架构重构 225 | - 新版本检测 226 | - 支持离线 OCR:支持中文汉字竖排识别,水平布局识别 227 | 228 | 229 | **注意:** 230 | - 当前版本仅 `sunny_protable_2.2.1_x64_offline_ocr.zip` 和 `sunny_setup_2.2.1_x64_offline_ocr.exe` 的支持离线 OCR 识别;若想要使用“图片翻译” 和 “在线OCR” 请下载 [v1.6.3](https://github.com/XMuli/SunnyCapturer/releases/tag/v1.6.3) 版本 231 | - 对于 Linux 发行版,若安装过 1.x 版本,若遇到运行失败,请先终端执行 `$ rm -rf ~/.config/Sunny`后,成功运行 232 | 233 | 234 | 235 | ## v2.1 (Pre) 236 | 237 | > 2024.09.17 238 | 239 | 中秋节快乐🌕 240 | 241 | 注意:这是一个内部通道的测试版本,部分功能是不稳定的。提供内测用户和尝鲜测试使用,欢迎反馈缺陷和建议。 242 | 243 | - 支持智能窗口识别(tab 按键切换层级) 244 | - 修复文本编辑 245 | - 和修复一些 bug 246 | 247 | 248 | 249 | ## v2.0 (Pre) 250 | 251 | > 2024.09.7 252 | 253 | **注意:此为内测版本,功能尚不稳定** 254 | 支持离线版本 OCR,用于提取图片的文本,支持竖版文字识别;**请下载名字带有 `_with_offline_ocr` 才支持 离线 OCR功能** 255 | 256 | 257 | 258 | 259 | 260 | ## v1.6.3 261 | 262 | > 2024.05.28 263 | 264 | **自用中,积极开发功能和修复缺陷,以和提升用户体验。** 265 | 266 | **功能** 267 | 268 | - 新增"德语"翻译 269 | - 更新"葡萄牙-巴西"翻译 270 | - 支持操作引导提示窗口 271 | 272 | **修复** 273 | - 十字线会遮挡放大镜的区域 #25 274 | - Linux 中点击时拉伸选中矩形后尺寸异常 #26 275 | - 托盘预览的翻译未立刻生效 #19 276 | - 其它小功能的优化 277 | 278 | **感谢贡献** 279 | 280 | 感谢 @thiagodalsoto 提供葡萄牙语-巴西语翻译,感谢 @Kthargas 提供了德语翻译 281 | 282 | 若想参与翻译,请点击[链接](https://github.com/XMuli/SunnyCapturer/tree/master/translations);此为完整的[鸣谢名单🙇‍](https://sunny.xmuli.tech/zh/acknowledgement.html) 283 | 284 | 285 | 286 | ## v1.6.2 287 | 288 | > 2024.05.21 289 | 290 | **Sunny Screenshot New Website:** [sunny.xmuli.tech](https://sunny.xmuli.tech) 📢: [English issues](https://github.com/XMuli/SunnyCapturer/issues) | [中文讨论组](https://txc.qq.com/products/649489) 291 | 292 | **功能** 293 | 294 | - 支持"葡萄牙-巴西"翻译 295 | - 支持绘画状态显示准星光标 296 | - 支持图片翻译的沉浸式显示 297 | - 支持 OCR 和 图片翻译的快捷键 298 | - 支持 OCR 新窗口设计,记住上次拉伸比例 299 | - 优化 OCR 自动切换可用线路 300 | - 优化保存图片会默认使用上次的后缀格式 #16 301 | - 优化 Linux GUI 安装 DEB 无缝升级方案 302 | - 优化日志的跨平台输出 303 | 304 | **修复** 305 | - 工具栏和参数信息栏可能会相交覆盖 #13 306 | - 配置后保存失效 #12 307 | - Debian12 + KDE 小数缩放的异常 308 | - 工具栏在屏幕边界显示不全 309 | - 热键删除时,旧的热键组合未取消 310 | - Debian 系下托盘区域图标不显示 311 | - 文字编辑框切换颜色时失败 312 | 313 | **UI 界面** 314 | - 新增加取色器和放大镜功能 #13 315 | - 新增显示器布局详细的信息 316 | - 调节主窗口高度智能自适应 317 | - 工具栏竖直模式,添加较浅的刻线 318 | 319 |
320 | 321 | **感谢贡献** 322 | 323 | 感谢 @thiagodalsoto 提供葡萄牙语-巴西语翻译;若想参与翻译,请点击[链接](https://github.com/XMuli/SunnyCapturer/tree/master/translations);此为完整的[鸣谢名单🙇‍](https://sunny.xmuli.tech/zh/acknowledgement.html) 324 | 325 | 326 | 327 | 328 | 329 | ## v1.5 330 | 331 | > 2024.04.16 332 | 333 | **自用中,积极开发和提升用户体验中;修复大量 bug 和美化 UI 设计,提升用户体验。** 334 | 修复 335 | - 一级工具栏的快捷键失效 336 | - 自动窗口检测,会误捕捉到不显示的系统窗口 337 | - 自动保存和快速保存的异常逻辑 338 | 339 | UI 提升 340 | - 一二级工具栏,采用高亮色;且有亚克力磨砂和普通边框效果 341 | - 一级工具栏的 ToolTip 的样式为白底 342 | - 钉图窗口支持缩放提示百分比,默认 2 秒 343 | - 设计 Tokens UI 为 QStackedWidget 效果 344 | - 隐藏 Sunny 边框的四角样式 345 | - 选中框为高亮色的效果 346 | 347 | 优化 348 | - 自动检测窗口尺寸优化,不含阴影区域 349 | - 后端数据存储优化,.ini 改为 .json 格式 350 | - OCR 若选带_local 项,提取的文字具有整齐的排版格式 351 | - OCR 提供配置参数,自定义误差数据微调排版准确率 352 | - 新增加"工程师高级"的开关:使保存图片带上窗口详细信息 353 | 354 | 其它等 355 | 356 | **内置多条免费线路,可切换 OCR 和图片翻译** 357 | 358 |
359 | 360 | **鸣谢:** 361 | 感谢 [shenmo](https://github.com/shenmo7192) 以及 [Spark-Store](https://gitee.com/spark-store-project/spark-store) 团队的帮助和支持,将其移植到 ARM 和 龙芯 架构平台,亦可直接在星火商店下载 362 | `sunny_1.5.0_arm64.deb`, `sunny_1.5.0_loong64.deb` 此架构仅支持 deepin V23、Debian 12+ 系的平台; 363 | 364 | 365 | 366 | ## v1.4 367 | 368 | > 2024.03.27 369 | 370 | 【中文】 371 | 1. 支持线路切换,"OCR"和"图片识别" 372 | 2. 提升识别次数 373 | - OCR 次数提升至 **3500次/月** 374 | - 图片识别次数提升为 **10000次/年** + 其它 375 | 3. 采用新的样式弹出窗口设计 376 | 4. 优化和修复部分 bug 377 | 5. 设置参考: [Wiki: 6. Image Translation & OCR](https://github.com/XMuli/SunnyCapturer/wiki/6.-Image-Translation-&-OCR-%7C-%E5%9B%BE%E7%89%87%E7%BF%BB%E8%AF%91-&-%E6%96%87%E5%AD%97%E6%8F%90%E5%8F%96) 378 | 379 |
380 | 381 | - Channel Switching | 线路切换 382 | 383 | - OCR | 提取文字 384 | 385 | - Images Translate | 图片翻译 386 | 387 | 388 | 389 | ## v1.3 390 | 391 | > 2024.02.01 392 | 393 | 最近 Sunny 截图被大佬和软件网站给翻牌子,突然多了很多流量和 star,属意外的惊喜。 394 | 但同时新用户也比较多,目前 **翻译** 和 **OCR** 的个人账号余额已见底🤣🤣 395 | 396 |
397 | 398 | 对于 **翻译** 和 **OCR** 功能,现已支持使用的个人的私人账号,若有需,可自行输入: 399 | 400 | - **百度接口** [https://console.bce.baidu.com/ai](https://console.bce.baidu.com/ai) 401 | 402 | 图片提取文字 `"OCR API - Baidu API - 文字识别"` 403 | 1. 通用文字识别(标准版) 404 | 2. 通用文字识别(标准含位置版) 405 | 3. 通用文字识别(高精度版) 406 | 4. 通用文字识别(高精度含位置版) → 最推荐 407 | 408 | 409 | - **有道接口** [https://ai.youdao.com/console](https://ai.youdao.com/console) 410 | 411 | 翻译中日英韩日等 `"Translate - 自然语言翻译服务 - 图片翻译"` 412 | 413 | --- 414 | 415 | **代码签名证书:** 416 | 另外,自从本版本已经添加代码签名,下载后,请校验文件的代码签名和如下一致: 417 | 418 | **鸣谢: 2024.03.01** 419 | 感谢 [XXTXTOP](http://www.xiongshijie.top) 帮助上架 Openkylin Store 麒麟商店!此 Linux 发行版也可直接下载了 420 | 421 | 422 | 423 | ## v1.2 424 | 425 | > 2023.11.20 426 | 427 | **新功能:** 428 | - 新支持 “图片翻译” 和 “OCR 图片识别文字” 功能 429 | - 修复部分bug,和优化绘画 430 | - Sunny 上架到 UOS/Deepin Store 和 Spark Store 431 | 432 | 433 | 434 | ## v1.1 435 | 436 | > 2023.10.28 437 | 438 | **Sunny 截图是一款简洁且漂亮的截图的软件工具,支持 Windows,MacOS,Linux 平台** 439 | 440 | **特色功能**: 441 | 442 | - 支持多种系统风格样式 443 | - 支持自定义透明磨砂效果(亚克力) 444 | - 支持绘画工具栏方位切换:水平或竖直 445 | - 支持高亮色主题切换(配置文件修改) 446 | - 支持常规截图、延时截图、自定义截图 447 | - 支持快捷保存和自动保存 448 | - 支持篡窗口的屏幕检测(窗口信息和窗口深度) 449 | - 支持图片钉在屏幕,且缩放和透明度设置 450 | - 文字编辑时刻,同一时刻支持多种不同格式 451 | - 更多 452 | 453 | **本次更新:** 454 | - 移植到 Deepin V20.9 成功编译和运行 455 | - 新增图钉在屏幕的阴影效果 456 | - 更新翻译(中文-简体、中文-繁体) 457 | 458 | 459 | 460 | ## v1.0 461 | 462 | > 2023.10.28 463 | 464 | 庆祝第一个正式版本 v1.0.0 发布 🎉🎉🎉🎉 465 | 466 | 适用于 Windows、MacOS 和 Linux 的简单美观的截图软件工具。 467 | 欢迎使用并反馈错误/建议,也可以提出您希望实现的功能。积极开发,程序员节快乐。 468 | -------------------------------------------------------------------------------- /zh-cn/development_technology.md: -------------------------------------------------------------------------------- 1 | 2 | ?> 在写和发布的后的期间,也遇到很多私聊请教、进QQ群、或邮件沟通某个功能实现?反馈 Bug 和给出使用心得和建议;大多都给答疑了,但想来可写为一整篇合集,彼时遇到的困难点记录下,公开出来提供后来者开发者参考。 3 | 4 | 5 | 6 | ## 系列地址 7 | 8 | [QtExamples](https://github.com/XMuli/QtExamples) 欢迎 `star` ⭐ 和 `fork` 🍴 这个系列的 `C++ / QT / DTK` 学习,附学习由浅入深的目录,这里你可以学到如何亲自编写此类软件的经验,这是一系列完整的教程,并且**永久免费**! 9 | 10 | 11 | 12 | ## 相关代码开源 13 | 14 | - 官网 & 下载 & 用户手册:[http://sunnycapturer.xmuli.tech](http://sunnycapturer.xmuli.tech/) 15 | - 相关代码开源:[https://github.com/SunnyCapturer](https://github.com/SunnyCapturer) 16 | 17 | 分享一些自己写过的完整截图软件的项目,作为指北 18 | 19 | | Name | License | Describe | 20 | | :----------------------------------------------------------: | :-----------: | :----------------------------------------------------------: | 21 | | [FLIPPED](https://github.com/SunnyCapturer/FLIPPED) | MIT | 一个跨平台的简洁且漂亮的截图 & 钉图的软件
Sunny 前身之作,麻雀虽小,登堂入室 | 22 | | [ShotX](https://github.com/SunnyCapturer/ShotX) | MIT | 极简的跨平台截图工具,渐入佳境 | 23 | | [SunnyCapturer](https://github.com/orgs/SunnyCapturer/repositories) | Organizations | SunnyCapturer 开源的相关项目合集:如自定义控件和项目思路等 | 24 | 25 |
26 | 27 | ## 编译环境 28 | 29 |   💻 `MacOS 13 ` 📎 `Qt 5.15.x` 📎 `gcc/g++ 9.2` 📎 `gdb8.3` 30 | 31 |   💻 `Ubuntu 22.04` 📎`Deepin 20-23+` 📎 `Qt 5.15.x` 📎 `gcc/g++ 9.0` 📎 `gdb8.0` 32 | 33 |   💻 `Win10 22H2` 📎 `Qt 5.15.x` 📎 `Visual Studio 2022` 📎 `C++17` 34 | 35 | 36 | 37 | 38 | 39 |
40 | 41 | ## 整体思路 42 | 43 | - **基础窗口:** 创建一个 QWidget 窗口,去掉标题栏后,全屏且置顶,捕获此刻多屏幕状态保存为 QPixamp,然后绘画在 QWidget 最底层,再绘画一层透明黑色作为遮罩 44 | - **绘画工具栏:** 作为是一个单独的子窗口,包含两个一级和二级的绘画工具栏,控制二级的显隐 45 | - **鼠标光标:** 将 QWidget 放于虚拟桌面的左上角;相对坐标和绝对坐标的转换 46 | - **功能思路:** 时刻判断当前所处模式:Wait / Select / Move / Draw / Stretch 标记;根据模式标记,对鼠标的 Press / Move / Release 事件进行对应的操作;重点是鼠标放下和松开时的 QPoint 47 | - 捕获模式:智能窗口 / 全屏截图 / 延时截图 / 自定义截图 等 48 | - 绘画模式则细分:一级绘画栏和二级绘画栏(愈加精确的参数) 49 | - 拉伸可为:拉伸已绘图形 / 选中框 / … ,操作是可见区域的任意一个图案 50 | - 移动同上 51 | - **钉图功能:** 独立的窗口,将图片绘画在最底层,且需要重绘缩小一圈,为毛玻璃的彩虹灯预留位置 52 | - **杂项但重要:** 国际化,不重启切换语言字体,编译,打包,CI /CD,热键,窗口尺寸遍历,显示窗口详细信息及大小,代码签名证书,上架应用商店;太多了,单独成篇写在下面 53 | 54 | ## 如何购买代码签名 55 | 56 | - 『问题』写的 EXE 如何进行代码签名?如何购买代码签名,怎么买最便宜?EV / Standard / Open Source Signing Certificates 的区别是什么? 57 | 58 | 详细解答这些问题 《[分享如何拥有一份私人的『开源代码签名证书』](https://xmuli.blog.csdn.net/article/details/135487951)》,并且指导最后如何签名。 59 | 60 | ## 如何上架应用商城 61 | 62 | - 『问题』如何上架到微软的 Microsoft Store?如何上架 Linux 的深度/统信/麒麟商城,以及如三方的星火商店呢? 63 | 64 | 篇幅太长,单写了一篇,包含详细上架 Windows Store, Deepin/UOS Store, 三方 星火商店等。 65 | 66 | 👉 《[Sunny截图上架Microsoft Store及Linux商店流程的指北](https://blog.csdn.net/qq_33154343/article/details/136334975)》 67 | 68 | 69 | 70 | **Note:** 个人作品上架微软商店的流程很折磨,最后上架成功后也是拨开云雾; 71 | 若是文章对你有价值,下载对应 Windows 安装版本,亦可帮我积累 Sunny 截图的微软信誉,或者在Linux等商店的好评,甚至感谢🙇‍ 72 | 73 | 74 | ## 打包发布于 Windows / MacOS / Linux 75 | 76 | ::: info 77 | ① Windows:绿色便携版和安装包 `EXE` 78 | ::: 79 | 80 | - 『问题』Windows 如何构建打包为 .exe 文件?如何生成构绿色版和安装版? 81 | 82 | 《[QT 项目在 Windows 平台上面发布成可执行程序](https://blog.csdn.net/qq_33154343/article/details/96448388)》 83 | 84 | 85 | ::: info 86 | ②MacOS:`.APP` 和 `.IMG` 87 | ::: 88 | 89 | - 『问题』MacOS 如何构建打包为 .dmg 文件? 90 | 91 | 《[QT 项目在 MacOS 平台上面发布成可执行程序](https://xmuli.blog.csdn.net/article/details/96448938#comments)》 92 | 93 | 94 | ::: info 95 | ③Linux: `.DEB`, `.APPIMAGE` 和绿色版 96 | ::: 97 | 98 | - 『问题』Linux 如何构建打包为 .deb 文件、如何打包为通用的 .AppImage 格式? 99 | 100 | - Linux下又多种打包 `.deb` 打包方法: 101 | 102 | - 〖方法一〗通过 ldd.sh + Sunny.sh 两个脚本打包依赖,参考《[QT 项目在 Linux 平台上面发布成可执行程序](https://blog.csdn.net/qq_33154343/article/details/96448621)》 103 | 104 | - 〖方法二〗通过 `dh_make` + `dpkg-buildpackage` 命令《[Linux 中用 dh_make 将 Qt + CMake 项目打包为 deb 文件](https://blog.csdn.net/qq_33154343/article/details/123778207)》 105 | 106 | - 〖方法三,最推荐〗通过 CMake 的 `cpack` 命令,那样就不需要填写 debian 文件夹下的 control 等文件,直接拷贝相关资源文件过去。 CMakeLists.txt 底部加上 CPack 的相关代码,核心如下: 107 | 108 | ```cmake 109 | # CPACK: General Settings 110 | set (CPACK_GENERATOR "TBZ2") 111 | set (CPACK_PACKAGE_NAME "${project_name}") 112 | set (CPACK_PACKAGE_VERSION "${project_version}") 113 | set (CPACK_PACKAGE_VENDOR "https://github.com/XMuli") 114 | set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "Simple and beautiful screenshot software tool for Windows, MacOS and Linux") 115 | set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}") 116 | set (CPACK_PACKAGE_CONTACT "https://sunny.xmuli.tech") 117 | # 设置Debian软件包的依赖关系 118 | set (CPACK_DEBIAN_PACKAGE_DEPENDS "libqt5x11extras5, libqt5svg5") 119 | set (CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}") 120 | set (CPACK_DEBIAN_PACKAGE_SHILIBDEPS ON) 121 | 122 | include(CPack) 123 | ``` 124 | 125 | - Linux下有多种打包 `.AppImage` 打包方法 126 | 127 | ```bash 128 | #【方式四】使用 linuxdeployqt 方式打包,在 Ubuntu 22.04 打包,不可以使用 ----------------------------- 129 | ####linuxdeployqt-continuous-x86_64.AppImage 方案可在 Ubuntu 22.04 上面不可行#### 130 | $ ../linuxdeployqt-continuous-x86_64.AppImage Sunny -appimage 131 | $ sudo apt install libfuse2 132 | 133 | 但是由于过于作者的固执坚守旧的版本,所以无法使用,理由和可能的解决如下: 134 | https://github.com/probonopd/linuxdeployqt/issues/340#issuecomment-932712016 135 | 即:使用linuxdeploy和linuxdeploy-plugin-qt 136 | 137 | #####linuxdeploy-x86_64.AppImage + linuxdeploy-plugin-qt-x86_64.AppImage 下面方案可行##### 138 | https://github.com/BearKidsTeam/thplayer/blob/master/.github/workflows/linux.yml#L54 139 | 140 | $ sudo apt update 141 | $ sudo apt install qtbase5-dev qtmultimedia5-dev libqt5multimedia5-plugins 142 | $ sudo add-apt-repository universe 143 | $ sudo apt install libfuse2 144 | 145 | $ wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage 146 | $ wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage 147 | $ chmod +x linuxdeploy*.AppImage 148 | 149 | $ mkdir build && cd build 150 | $ cmake .. 151 | $ cmake --build . -j$(nproc) 152 | $ cd .. 153 | 154 | $ ../linuxdeploy-x86_64.AppImage --appdir AppDir -e bin/Sunny -d bin/resources/cpack/tech.xmuli.sunny.desktop -i bin/resources/logo/logo.svg --icon-filename tech.xmuli.sunny -p qt -o appimage 155 | 156 | $ ./linuxdeploy-x86_64.AppImage --appdir AppDir -e build/thplayer -d assets/thplayer.desktop -i assets/thplayer.svg --icon-filename thplayer -p qt -o appimage 157 | $ mv TouHou_Player*.AppImage thplayer-linux.AppImage 158 | ``` 159 | 160 | - 『问题』如何书写 .yml 的脚本,通过 GitHub 的Action 资源,自动打包构建生成 Release 呢? 161 | 162 | 通过写三个系统的 .yml 脚本,路径必须是 `.github/workflows` ,随着时间的流逝⌛,想要持续构建对应的云系统和 Kit 也必须更新,文档和版本参见 [images](https://github.com/actions/runner-images/tree/main/images) ,直接往 .yml 修改;这是一个实际可跑的脚本 [*.yml](https://github.com/XMuli/ChineseChess/tree/master/.github/workflows) 都是可以编译成功的,失败可能是额度时间不够了,如某次成功的示例,可看到头像是 GitHub 的头像发布的 [Release-v6.1](https://github.com/XMuli/ChineseChess/releases/tag/v6.1) ; 163 | 164 | 165 | ## UI / UX 设计的效果 166 | 167 | - 『问题』截图的一级二级的菜单工具栏,如何实现 Windows7 的透明磨砂 / Windows 的亚克力的效果,且能够支持 Windows / Linux / MacOS? 168 | 169 | 单纯实现亚克力效果不难,难在Linux和 MacOS 上也能实现这个效果?这是当时的一些探索和经验,总结了四种方法放置于 [GitHub - AcrylicWindow](https://github.com/XMuli/AcrylicWindow) 170 | 171 | - 『问题』如何实现一个完美的无边框窗口跨平台,且还要占用低,没有瑕疵BUG,还能白嫖? 172 | 173 | 也折腾过,难度也很大,后来发现对于截图,费力可以实现,但是没必要,成本太大;结论:这样现成的没有,目前效果和跨平台都最佳的方案是[framelesshelper](https://github.com/wangwenx190/framelesshelper), 有时放弃也是一种解决方案。 174 | 175 | - 『问题』如何实现国际化多语言的切换?尤其是未使用 Qt Designer 来创建 .ui 文件,遇到无 `ui->retranslateUi(this)` 函数?不重启软件便可以切换语言 176 | 177 | 对于有有 .ui 的部分,可以通过 《[Qt 项目(CMake)设置国际化支持](https://xmuli.blog.csdn.net/article/details/114439385)》来解决。对于存手写的控件实现的,且大致实现的思路是: 178 | 179 | 下拉框中切换语言时,发射信号 → 全局单例 → 信号和槽函 → 到主窗口的槽函数,在里面进行重新加载语言,所有相关的控件的默认文本,都写在这个函数里面,便可以不重启软件,直接实现语言切换成功 180 | 181 | ## 用户体验细节 182 | 183 | - 『问题』是否需要管理员权限才能运行? 184 | 185 | 全程不会弹 UAC 弹窗,不需要管理员权限就可以使用所有功能,也不会中途提权,仅普通用户权限即可,包括导向安装,静默安装,使用卸载; 186 | 187 | - 『问题』Windows 和 Linux 支持一次截多个屏幕,MacOS 仅只能截图单个屏幕,如何实现呢? 188 | 189 | MacOS 除了系统自带的截图支持外,至今没有任何一个三方软件可以做到这点,包括大厂等某企鹅的截图的,无解。根原是属于此苹果接口没公开,至少没人能够发现。 190 | 191 | - 『问题』如何确保 MacOS 上的效果和 Window上面保持外观的一致? 192 | 193 | 一个难点是再 MacOS 上也要和再 Windows 的效果保持一致,于是对不同风格进行对比,但 Fusion 又会倒是 Setting 窗口非原生的样式,但好在十分接近;选取一个平衡点。另外还手绘画了一个二十多个自定义或者复杂控件。 194 | 195 | 196 | 197 | ## 看不见的优化 198 | 199 | - 『问题』如何解决使用 ESC 取消截图后的内存泄露问题?QPointer 、智能指针、还是单例? 200 | 201 | 也花了大力气来探究,在完成一次截图之后,内存的占用会在合适时机自动释放出来;这是定位在消耗内存的变量;开发环境显示器为 4K 27 寸 + 3K笔记本双屏; 202 | 203 | 204 | 205 | - 『问题』对于使用单例模式不止一处时,有序需要多个单例用来传递或者保存数值时候,重复写很容易 206 | 207 | 可采用[奇异递归模板](https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern)的方式,然后添加一个宏展开为友元类;多个单例都只用写一份,而前提是需要对 《[C++ 类的六个特殊成员函数](https://blog.csdn.net/qq_33154343/article/details/128367884)》 很熟悉,才能理解,属于优雅的一种实现。 208 | 209 | - 『问题』日志和崩溃生成 DUMP 记录? 210 | 211 | 日志可以通过配置文件修改,若是遇到传说的崩溃,亦会自动生成 .dmp 和 崩溃原因; 212 | 213 | 转储文件存放: `C:/Users/用户名/AppData/Local/XMuli/Sunny/cache/Sunny_Dumps/dump_2024_02_29_11_31_30_714.dmp` 214 | 215 | 216 | 217 | 实现方法可通过 WIN API 来实现 218 | 219 | ```cpp 220 | #ifdef _MSC_VER 221 | SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)ApplicationCrashHandler);//注冊异常捕获函数 222 | #endif 223 | ``` 224 | 225 | 额,你没接触过 DUMP,完全不会对其进行解剖分析?也简单写了一个使用 WinDbg 进行入门 226 | 227 | 《[WinDbg:入门分析 dmp 文件『一』](https://xmuli.blog.csdn.net/article/details/123563647)》、《[WinDbg:调试之附加进程生成 dmp『二』](https://xmuli.blog.csdn.net/article/details/123563753)》 228 | 229 | - 『问题』希望单例运行EXE,确保全局唯一性? 230 | 231 | 可以通过共享内存QSharedMemory 和系统信号量 QSystemSemaphore,双重保证程序在一台终端上,仅会运行一个; 232 | 233 | 也能杜绝很罕见的一种情况,即使上次程序崩溃之后,但仍有残留的僵死进程,被误判当前没有启动。严谨(中指推一下眼镜) 234 | 235 | ```cpp 236 | QString uniqueKey = "SunnyUniqueKey"; // 使用唯一的标识符来创建共享内存和系统信号量 237 | QSharedMemory sharedMemory; 238 | sharedMemory.setKey(uniqueKey); 239 | 240 | // 尝试附加到现有的共享内存并分离 241 | if (sharedMemory.attach()) { 242 | sharedMemory.detach(); 243 | } 244 | 245 | // 尝试创建共享内存,如果已经存在,表示已经有一个实例在运行, 判断是为了确保在同一台计算机上只能运行一个相同实例的程序。 246 | if (!sharedMemory.create(1)) { 247 | qDebug() << "There is already an instance of the application running (by QSharedMemory)!"; 248 | return 1; 249 | } 250 | 251 | // 创建系统信号量, 再尝试获取系统信号量,如果已经被其他实例持有,程序就退出, 判断是为了确保在多个进程同时启动时,只有一个进程能够继续执行。QSystemSemaphore用于创建系统信号量,如果系统信号量已经被其他实例持有(比如由于上一次程序异常退出导致信号量未被释放),则acquire函数会返回false, 252 | QSystemSemaphore systemSemaphore(uniqueKey, 1, QSystemSemaphore::Open); 253 | if (!systemSemaphore.acquire()) { 254 | qDebug() << "There is already an instance of the application running (by QSystemSemaphore)!"; 255 | return 1; 256 | } 257 | 258 | // ...程序其它逻辑 259 | 260 | // 释放系统信号量 261 | systemSemaphore.release(); 262 | ``` 263 | 264 | ## Qt / C++ 编码问题 265 | 266 | - 『问题』截图项目运行直接置顶显示后,按下按键后,窗口无任何响应,需额外点击一下才能开始截图? 267 | 268 | 分析和解决方案《[Qt新弹窗不响应键盘按键,难道也是无焦点?](https://blog.csdn.net/qq_33154343/article/details/124639169)》 269 | 270 | - 『问题』热键输入框控件,输入后显示的方块 ■◆ 乱码? 271 | 272 | 分析和解决方案《[创建 QKeySequenceEdit() 后,显示方块■◆乱码](https://blog.csdn.net/qq_33154343/article/details/125775732)》,还是多看下 Qt Assistant 解围粗心。 273 | 274 | - 『问题』使用 VS2022 和 QtCreator 如何调试 Qt 5.15 的源代码? 275 | 276 | 解决方案为《[VS2022 And QtCreator10 调试 Qt 源码教程](https://blog.csdn.net/qq_33154343/article/details/131491715)》、《[VS2017调试Qt源码](https://blog.csdn.net/qq_33154343/article/details/120339797)》 277 | 278 | - 『问题』截图会有很多个属性的校验和“且”的属性使用? 279 | 280 | 虽简单,但移除标志位容易忘却,这里简单列举一下《[C++ 标志位使用:校验、添加、删除](https://blog.csdn.net/qq_33154343/article/details/126322317)》 281 | 282 | - 『问题』Qt Creator 报警告⚠ Misleading indentation; statement is not part of the previous ‘if‘ 283 | 284 | 那日强迫症,且需要删除空格才能解决,属实比较稀少;记录下解决方案 《[Misleading indentation; statement is not part of the previous ‘if‘](https://blog.csdn.net/qq_33154343/article/details/126215870)》 285 | 286 | - 『问题』重构此版时候,也会大量使用 Lambda 表达式 287 | 288 | 展开讲解一下,若未接触过,属会用会看即可《[Lambda 表达式详解](https://blog.csdn.net/qq_33154343/article/details/125775706)》 289 | 290 | - 『问题』Visual Studio 断点偶遇进不去相关函数? 291 | 292 | Release实际也是可以调试的,新手容易不知晓,知晓的亦可能会翻车,值得记录下;属于 Release / Release with Debug Info / Debug 的差异《[Visual Studio 断点调试之箭头偏移进错函数,捉虫记](https://blog.csdn.net/qq_33154343/article/details/124482152)》 293 | 294 | - 『问题』源码不能外发的情况下,如何进行调试? 295 | 296 | 详细示例《[Visual Studio 2019 进行远程调试](https://blog.csdn.net/qq_33154343/article/details/123855765)》 297 | 298 | 299 | ## 项目杂项 300 | 301 | - 『问题』 Sunny 截图在在不同系统、编译器上开发、使用不同的 Kit Tools 上面如何解决乱码问题?且有时调试窗口乱码?还有 ANSI,UTF8,UTF8-BOM 采用哪种? 302 | 303 | 参考《 [愿编程不再乱码(含Qt)-根因深究](https://blog.csdn.net/qq_33154343/article/details/120661967)》,以及 [QtExamples](https://github.com/XMuli/QtExamples) 的 "「第 6 章」 QT / IDE 乱码根因和解决" 304 | 305 | - 『问题』 遇到需要使用的开源三方库,如何优雅的使用 Git 管理,确保拉取三方库即最新,又不会打乱本仓库的历史线? 306 | 307 | 开源三方库引入,想要优雅,基本 `git submodule` 或 `git treemodule` 命令之间二选一;推荐前者,理由为 《[git submodule 基本用法](https://blog.csdn.net/qq_33154343/article/details/123453541)》 308 | 309 | - 『问题』 如何选用 LOG 日志库?自己简单封装一套,还是选用开源库?便于后面定位和分析 310 | 311 | 比较犹豫和纠结的一个问题,两种都试过;现总结为:项目初期使用自带的 QDebug 即,不够用再写一个类,和宏封装一套,满足需求即可,勿跑偏,功能才是重点。最后期可以选用三方库引入: 312 | 313 | 一点经验参考 《[Log:日志选型调研『一』](https://blog.csdn.net/qq_33154343/article/details/123457938)》、《[Log:日志之 Spdlog 极简用法示范『二』](https://xmuli.blog.csdn.net/article/details/123488323)》、《[Log:日志之 Spdlog 核心构成『三』](https://xmuli.blog.csdn.net/article/details/123489094)》 314 | 315 | - 『问题』CMake 管理跨平台项目,生各平台的 IDE 的解决方案?以及 Window 上自带一些基础宏的数据类型含义? 316 | 317 | 现在已经幸福多了,ChatGPT 横空出世,已经可以解答了,故介绍一些高频或者重点宏,自己结合去搜🔍 318 | 319 | CMake 的重要宏:《[CMake 设置 Target 输出目录和后缀名](https://blog.csdn.net/qq_33154343/article/details/125932219)》、《[CMake 之 BUILD_SHARED_LIBS 和 CMAKE_BUILD_TYPE 用法教程](https://blog.csdn.net/qq_33154343/article/details/125928773)》 320 | 321 | Windows 的重要宏:《[LPSTR/LPCSTR/LPTSTR/HWND/HANDLE/HMODULE/HINSTANCE 等含义和区别](https://blog.csdn.net/qq_33154343/article/details/125775718)》 322 | 323 | 324 | - 编译遇坑、杂谈经验总结等,有空再更... 325 | 326 | 327 | ## 加油打气(ง •_•)ง [捐助] 328 | 329 | 若对您有帮助,或者觉得有用,**您可以点击该仓库的⭐ Star 🍴 Fork 两个图标,方便抬手之间,说点赞的手,** 手留余香;其次可以我喝一杯加冰的肥宅快乐水。 330 | 331 | 332 | 333 | 339 | 340 | -------------------------------------------------------------------------------- /zh-cn/extract_text_ocr.md: -------------------------------------------------------------------------------- 1 | ?> 高级功能之一:从图片中提取所需的文字,支持在线 API 和本地离线的模式 2 | ?> 对于本地离线模式:支持任意型号的 CPU,和仅 NVIDIA 显卡的 GPU 解析;且图片文字是水平和竖直排布均可解析 3 | 4 | 5 | 6 | ## 简介 7 | 8 | `SunnyCapturer` 默认提供内置账号,但不保证其稳定性,也不做任何承诺和责任 9 | 10 | **在线引擎:** 11 | 12 | - **内置账号** 13 | - 优点: 免费,每月 1 号额度会自动重置,用户无需任何设置 14 | 15 | - 缺点: 全体用户共享,偶遇并发数限制、不到月底额度就被使用完了 16 | 17 | - **私人账号** 18 | - 优点:仅私人独享,自行平台注册,在设置界面中填写 key 19 | - 缺点:付费,价格昂贵,当基础额度使用完后 20 | 21 | **本地引擎:** 22 | 23 | - 对于 Window 平台,提供对应对应版本的离线 OCR 识别的安装包,下载即用;或下载此扩展包,导入程序的根目录重启软件后即用 24 | 25 | 26 | 27 | 当前一共支持如下云端 API 平台,和一款离线本地引擎解析: 28 | 29 | 30 | 31 | ## 注册腾讯云 | Tencent Cloud 32 | 33 | > 『图片翻译』 每个月额度为 1 w次,月初重置;同时『文字翻译』 的字符数每个月 500w 免费包 34 | > 35 | > 开通付费服务后,个人和企业认证用户QPS限制均为10 36 | 37 | **官网注册:** [https://cloud.tencent.com](https://cloud.tencent.com/) 38 | 39 | **密钥生成:** [https://console.cloud.tencent.com/cam](https://console.cloud.tencent.com/cam) 40 | 41 | **注册图示:** 42 | 43 | ​ 44 | 45 | **本程序的填写 key 位置:** 46 | 47 | ​ 48 | 49 | 50 | 51 |

52 | 53 | ## 注册百度云 | Baidu Cloud 54 | 55 | > 『文字识别』每个月额度为 3500 次,月初重置;QPS并发限制数为 2 56 | > 57 | > 其中 3000 = 1000(标准版) + 1000(标准含位置版) + 1000(高精度版) + 500(高精度含位置版) 58 | 59 | **官网注册:** [https://cloud.baidu.com](https://cloud.baidu.com/) 60 | 61 | **注册图示:** 62 | 63 | ​ 64 | 65 | **本程序的填写 key 位置:** 66 | 67 | ​ 68 | 69 | 70 | 71 |

72 | 73 | ## 使用本地离线的图片识别引擎 74 | 75 | > 通过本地离线引擎,离线提取图片中的文字,无任何数量和次数的限制;速度取决于你的 CPU / NVIDIA 显卡的型号 76 | > 77 | > 支持常见主流语言的文字提取,默认内置为提取简体中文包,并且支持竖直文字的读取 78 | 79 | **优点:** 全程离线本地运行,隐私安全;性能和 CPU / GPU 型号呈现正相关,支持批量图片和文件夹的导入识别 80 | 81 | **支持 CPU 和 GPU 模式:** 82 | 83 | - **CPU 版本:**通用性强,占用内存更少,对于单张图片解析极快,批量图片耗时大(普通用户推荐) 84 | - **GPU 版本:**仅支持 NVIDIA 卡,占用内存多,但对于批量解析大量图片,耗时是 CPU 版本是 1/2 ~ 1/3 时间,很快(高级 N 卡推荐) 85 | - 仅支持 Windows 64 位的系统;均支持单张图片和批量图片识别解析,直接拖曳到窗口即可 86 | - 理论亦支持 Linux ,会在后续中进行 Linux 的适配和构建 87 | 88 | 89 | 90 | ## 云 API-OCR提取文字返回的错误码及含义 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 |
OCR 提取文字的错误码以及含义
腾讯云(在线)百度云(在线)本地引擎(离线)
官方文档官方开发文档    官方错误码文档
错误码说明错误码错误信息描述错误码说明
FailedOperation.ErrorUserArea用户区域与请求服务区域不一致。1Unknown error未知错误,请再次请求,如果持续出现此类错误,请在控制台提交工单联系技术支持团队暂略
FailedOperation.InsertErr数据插入错误。2Service temporarily unavailable服务暂不可用,请再次请求,如果持续出现此类错误,请在控制台提交工单联系技术支持团队
FailedOperation.LanguageRecognitionErr暂时无法识别该语种。3Unsupported openapi method调用的API不存在,请检查请求URL后重新尝试,一般为URL中有非英文字符,如"-",可手动输入重试
FailedOperation.NoFreeAmount本月免费额度已用完,如需继续使用您可以在机器翻译控制台升级为付费使用。4Open api request limit reached集群超限额,请再次请求,如果持续出现此类错误,请在控制台提交工单联系技术支持团队
FailedOperation.RequestAiLabErr内部请求错误。6No permission to access data无接口调用权限,创建应用时未勾选相关文字识别接口,请登录百度云控制台,找到对应的应用,编辑应用,勾选上相关接口后重新调用,也可使用权限额度诊断工具完成自助诊断
FailedOperation.ServiceIsolate账号因为欠费停止服务,请在腾讯云账户充值。14IAM Certification failedIAM鉴权失败,建议用户参照文档自查生成sign的方式是否正确,或换用控制台中ak   sk的方式调用
FailedOperation.StopUsing账号已停服。17Open api daily request limit reached免费测试资源使用完毕,每天请求量超限额,已支持计费的接口,您可以在控制台文字识别服务选择购买相关接口的次数包或开通按量后付费;邀测和未支持计费的接口,您可以在控制台提交工单申请提升限额,也可先使用权限额度诊断工具完成自助诊断
FailedOperation.SubmissionLimitReached当日提交任务数达到上限18Open api qps request limit reachedQPS超限额,免费额度并发限制为2QPS,开通按量后付费或购买次数包后并发限制为10QPS,如您需要更多的并发量,可以选择购买QPS叠加包;邀测和未支持计费的接口,您可以在控制台提交工单申请提升限额,也可先使用权限额度诊断工具完成自助诊断
FailedOperation.TooManyWaitProcess过多未完成任务19Open api total request limit reached请求总量超限额,已支持计费的接口,您可以在控制台文字识别服务选择购买相关接口的次数包或开通按量后付费;邀测和未支持计费的接口,您可以在控制台提交工单申请提升限额
FailedOperation.UserHasNoFreeAmount本月免费额度已用完,如需继续使用您可以在机器翻译控制台购买资源包或开通后付费使用。100Invalid parameter无效的access_token参数,token拉取失败,您可以参考“Access   Token获取”文档重新获取
FailedOperation.UserNotRegistered服务未开通,请在腾讯云官网机器翻译控制台开通服务。110Access token invalid or no longer validaccess_token无效,token有效期为30天,请注意需要定期更换,也可以每次请求都拉取新token
InternalError.BackendTimeout后台服务超时,请稍后重试。111Access token expiredaccess   token过期,token有效期为30天,请注意需要定期更换,也可以每次请求都拉取新token
InternalError.ErrorGetRoute路由获取错误。216100invalid param请求中包含非法参数,请检查后重新尝试
InternalError.ErrorUnknown未知错误。216101not enough param缺少必须的参数,请检查参数是否有遗漏
InternalError.RequestFailed请求失败。216102service not support请求了不支持的服务,请检查调用的url
InvalidParameter.DuplicatedSessionIdAndSeq重复的SessionUuid和Seq组合。216103param too long请求中某些参数过长,请检查后重新尝试
InvalidParameter.MissingParameter参数错误。216110appid not existappid不存在,请重新核对信息是否为后台应用列表中的appid
InvalidParameter.SeqIntervalTooLargeSeq之间的间隙请不要大于2000。216200empty image图片为空,请检查后重新尝试
LimitExceeded.LimitedAccessFrequency超出请求频率。216201image format error上传的图片格式错误,现阶段我们支持的图片格式为:PNG、JPG、JPEG、BMP,请进行转码或更换图片
UnauthorizedOperation.ActionNotFound请填写正确的Action字段名称。216202image size error上传的图片大小错误,请根据调用服务的接口文档,查看请求参数image要求,重新上传图片
UnsupportedOperation.AudioDurationExceed音频分片长度超过限制,请保证分片长度小于8s。216205input oversize传入的请求体大小错误,现阶段我们支持的请求体最大上限为:base64编码后小于10M,请重新发送请求
UnsupportedOperation.TextTooLong单次请求text超过长度限制。216306Upload file error上传文件失败,请检查提交请求接口的请求参数
UnsupportedOperation.UnSupportedTargetLanguage不支持的目标语言,请参照语言列表。216308Pdf_file_num exceeds the number of pdf pages参数pdf_file_num大于PDF文件实际页数
UnsupportedOperation.UnsupportedLanguage不支持的语言,请参照语言列表。216401Create task failed提交请求失败
UnsupportedOperation.UnsupportedSourceLanguage不支持的源语言,请参照语言列表。216402Query task failed获取结果失败
216603Check pdf page num failed获取PDF文件页数失败,请检查PDF文件以及base64编码
216604Insufficient available quota请求总量超限额,您可以购买或申请更多限额
216630recognize error识别错误,请再次请求,请确保图片中包含对应卡证票据
216631recognize bank card error识别银行卡错误,出现此问题的原因一般为:您上传的图片非银行卡正面,上传了异形卡的图片、上传的银行卡正面图片不完整或模糊
216633recognize idcard error识别身份证错误,出现此问题的原因一般为:您上传了非身份证图片、上传的身份证图片不完整或模糊
216634detect error检测错误,请再次请求,如果持续出现此类错误,请在控制台提交工单联系技术支持团队
216600business verify failed企业核验相关服务请求失败,请再次请求,仅适用于企业核验相关服务:企业工商信息查询(标准版/高级版)、企业二/三/四要素核验。如果持续出现此类错误,请在控制台提交工单联系技术支持团队
216601business verify result empty企业核验相关服务查询成功,但是无查询结果返回,请再次请求,仅适用于企业核验相关服务:企业工商信息查询(标准版/高级版)、企业二/三/四要素核验。如果持续出现此类错误,请在控制台提交工单联系技术支持团队
216602business verify timeout企业核验相关服务接口超时,请再次请求,仅适用于企业核验相关服务:企业工商信息查询(标准版/高级版)、企业二/三/四要素核验。如果持续出现此类错误,请在控制台提交工单联系技术支持团队
282000internal error服务器内部错误,如果您使用的是高精度接口,报这个错误码的原因可能是您上传的图片中文字过多,识别超时导致的,建议您对图片进行切割后再识别,其他情况请再次请求,   如果持续出现此类错误,请在控制台提交工单联系技术支持团队
282003missing parameters: {参数名}请求参数缺失
282005batch processing error处理批量任务时发生部分或全部错误,请根据具体错误码排查
282006batch task limit reached批量任务处理数量超出限制,请将任务数量减少到10或10以下
282100image transcode error图片压缩转码错误
282102target detect error未检测到图片中识别目标,请确保图片中包含对应卡证票据,出现此问题的原因一般为:您上传了非卡证图片、图片不完整或模糊
282103recognize error, failed to match the template图片目标识别错误,请确保图片中包含对应卡证票据,出现此问题的原因一般为:您上传了非卡证图片、图片不完整或模糊
282110urls not exitURL参数不存在,请核对URL后再次提交
282111url format illegalURL格式非法,请检查url格式是否符合相应接口的入参要求
282112url download timeouturl下载超时,请检查url对应的图床/图片无法下载或链路状况不好,或图片大小大于3M,或图片存在防盗链,您可以重新尝试以下,如果多次尝试后仍不行,建议更换图片地址
282113url response invalidURL返回无效参数
282114url size errorURL长度超过1024字节或为0
282134officialWeb service exception仅适用于增值税发票验真接口,国税局端网络超时(一般因地方税务局升级或系统调整造成,建议您第2日重试,如果持续出现此类错误,请在控制台提交工单联系技术支持团队)
282808request id: xxxxx not existrequest   id xxxxx 不存在
282809result type error返回结果请求错误(不属于excel或json)
282810image recognize error图像识别错误,请再次请求,如果持续出现此类错误,请在控制台提交工单联系技术支持团队
282160driving license backend resource overrun后端资源超限,仅适用于行驶证核验接口,请在控制台提交工单联系技术支持团队
282161driving license requests too frequently请求过于频繁,仅适用于行驶证核验接口
204 | 205 | 206 | 207 | 208 | ## 各平台的 API 隐私协议 209 | 210 | > - 腾讯云-隐私保护声明: https://cloud.tencent.com/document/product/301/11470 211 | > - 百度云-隐私政策: https://cloud.baidu.com/doc/Agreements/s/Plr0fi68q 212 | > - 百度云-SDK隐私政策: https://ai.baidu.com/ai-doc/REFERENCE/Ckdym0tc9 213 | > - 有道云-隐私政策: https://c.youdao.com/dict/law/youdaofanyi_pc_privacy.html 214 | > - 有道云-图片翻译 SDK 隐私政策:[https://ai.youdao.com/DOCSIRMA/html/trans/sdk_privacy/tpfy/index.html](https://ai.youdao.com/DOCSIRMA/html/trans/sdk_privacy/tpfy/index.html) 215 | 216 | -------------------------------------------------------------------------------- /zh-cn/getting_started.md: -------------------------------------------------------------------------------- 1 | [tags](https://github.com/XMuli/SunnyCapturer/releases) [Total Downloads](https://github.com/XMuli/SunnyCapturer/releases) 2 | 3 | SunnyCapturer 是一款简单且漂亮的跨平台截图软件工具,支持 `OCR 从图片中提取文本`、`图片翻译`、`自定义贴图`、以及`图片钉在屏幕上`等功能。 4 | 5 | 6 | 7 | ## 截图 8 | 9 | **开始截图** 10 | 11 | - 按下 `F1` 快捷键 12 | - `单击`、`双击`托盘图标 13 | - 右键托盘的菜单后,点击 `截图` 选项 14 | 15 | 16 | 17 | **取消截图** 18 | 19 | - 按下 `Esc` 键 20 | - 点击工具栏的取消按钮 21 | 22 | 23 | 24 | **保存选中的截图图片** 25 | 26 | - 复制到剪切板( 复制到剪切板 / `Ctrl` + `C` / `Enter` / `鼠标左键双击` 截图区域) 27 | 28 | - 保存到文件( 完成截图 / `Ctrl` + `S`) 29 | 30 | - 保存到钉图( 钉图 / `P` ) 31 | 32 | - 快捷保存图片( `Ctrl` + `Shift` + `S`) 33 | 34 | 35 | 36 | ## 标注 37 | 38 | 通过一级工具栏选定截图区域,进行基础的图标标注绘画;通过二级工具栏选择详细属性 39 | 40 | - **基础功能:** 矩形、椭圆、箭头、画笔、马赛克、文字、贴图、序号、橡皮檫 41 | - **高级功能:** OCR 提取文字、图片翻译 42 | - **附加功能:** 撤销、重做、取消截图、钉图、手动保存图片、复制图片到剪切板 43 | - **隐藏功能:** 快捷键保存图片、自动保存图片 44 | 45 | 46 | 47 | ## 贴图 48 | 49 | 从本地选中一张图片,作为贴图到截图区域;并且放鼠标在顶部中间,可按照提示 360° 旋转贴图片,鼠标放于四周边框,可放大或缩小图片 50 | 51 | - 贴图到选中的截图区域( 贴图 ) 52 | 53 | 54 | 55 | ## 序号 56 | 57 | - 自增序的图标( 序号 ) 58 | 59 | 60 | 61 | 62 | ## 放大镜 / 取色器 63 | 64 | - 当放大镜可见的时候,按下 C 可复制该像素点的颜色值(RGB / HEX / FLT) 65 | - 可按下 Shift 来切换颜色格式 66 | 67 | 68 | 69 | ## 调整画笔宽度 70 | 71 | - 滑动鼠标滚轮,屏幕左上角会显示当前画笔的宽度 72 | 73 | 74 | 75 | ## 更多 76 | 77 | 更多参见 UI 提示,或则悬浮提示、或屏幕左下角的引导操作 78 | -------------------------------------------------------------------------------- /zh-cn/office_site.md: -------------------------------------------------------------------------------- 1 | ?> SunnyCapturer 是一款简单且漂亮的跨平台截图软件工具,支持 OCR 从图片中提取文本、图片翻译、自定义贴图、以及图片钉在屏幕上等功能 2 | 3 | 4 | 5 | - 官网 & 下载 & 用户手册:[http://sunnycapturer.xmuli.tech](http://sunnycapturer.xmuli.tech/) 6 | - 代码开源:[https://github.com/SunnyCapturer](https://github.com/SunnyCapturer) 7 | 8 | 9 | 10 | - *过渡官网:[https://sunny.xmuli.tech](https://sunny.xmuli.tech)* 11 | -------------------------------------------------------------------------------- /zh-cn/translation.md: -------------------------------------------------------------------------------- 1 | 对应的 `*.ts` 翻译文件见 [translations](https://github.com/SunnyCapturer/translations),翻译完成后提 PR 即可; 2 | 3 | 推荐下载 [Qt Linguist](https://github.com/lelegard/qtlinguist-installers/releases) 打开 .ts 文件进行翻译,README 有详细介绍; 4 | 5 | 若需要任何帮助或困惑,请在任何留言区联系我 6 | 7 | -------------------------------------------------------------------------------- /zh-cn/troubleshooting.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 以下为运行 SunnyCapturer 可能遇到的错误及其解决方案。 4 | 5 | 6 | 7 | ## Windows 8 | 9 | **运行后遇到提示计算机中丢失 api-ms-win-crt-runtime-l1-1-0.dll 错误** 10 | 11 | - 您的操作系统缺乏基础的微软 VC++ 基础运行库,请根据你的操作系统版本(32位/64位),下载和安装对应版本 `微软 Visual C++ 2015-2022 可再发行组件包`: [32位](https://aka.ms/vs/17/release/vc_redist.x86.exe) | [64位](https://aka.ms/vs/17/release/vc_redist.x64.exe) 12 | 13 | 14 | 15 | 16 | **Windows 已保护你的电脑** 17 | 18 | - 请点击“更多信息”,然后点击“仍要运行” 19 | - 这只是因为 SunnyCapturer 未使用企业证书进行数字签名,只要是从 [官网下载](https://sunnycapturer.xmuli.tech) 的,可以放心使用;但是使用了个人代码签名证书签名,当在 Microsoft Windows 上积累了足够多的用户量,此版本便不会再弹出 20 | 21 | 22 | 23 | 24 | 25 | **Windows SmartScreen 筛选器已阻止启动一个未识别的应用** 26 | 27 | - 请点击“更息”,然后点击“仍要运行” 28 | - 这只是因为 SunnyCapturer 未使用任何企业、或个人证书进行数字签名,只要是从 [官网下载](https://sunnycapturer.xmuli.tech) 的,可以放心使用; 29 | 30 | 31 | 32 | ## Linux 33 | 34 | ?> 对于 Debian 系的发行版,提供原生的 `.deb` 离线包;除此之外的 Linux 发行版可使用 `.AppImage` ;Linux 系统仅支持 `x11` 架构,暂不支持 `Wayland` 35 | 36 | 37 | 38 | > Debian 系列发行版,推荐用 `.deb` 包 39 | 40 | **Ubuntu 24.04 截图后,显示为白屏** 41 | 42 | - Ubuntu 24.04 默认是 `Wayland`,因 SunnyCapturer 仅支持 `x11`,故将 Ubuntu 设置为 `x11` 模式即正常。操作步骤如下: [#55](https://github.com/XMuli/SunnyCapturer/issues/55) 43 | 44 | ```bash 45 | sudo vim /etc/gdm3/custom.conf 46 | # 将 WaylandEnable=false 的这行注释解开 47 | sudo systemctl restart gdm3 # 重启系统 48 | ``` 49 | 50 | 51 | 52 | **Ubuntu20.04 运行成功且截图,但使用 OCR 和 图片翻译等网络服务无响应** 53 | 54 | - 因 Ubuntu20.04 自带的 SSL 版本过低,会提示如下: 55 | 56 | ``` 57 | qt.tlsbackend.ossl: Incompatible version of OpenSSL (built with OpenSSL >= 3.x, runtime version is < 3.x) 58 | qt.network.ssl: Active TLS backend does not support key creation 59 | qt.network.ssl: The backend "cert-only" does not support QSslSocket 60 | qt.network.ssl: The backend named "cert-only" does not support TLS 61 | ``` 62 | 63 | 解决方法升级系统 SSL 到 3.0+ 版本即可;或升级到更高版本的 Ubuntu 22.04 / 24.04+ 64 | 65 | 66 | 67 | > 非 Debian 系列的发行版,推荐用 `.AppImage` 包 68 | 69 | **`.Appimage` 格式包修改配置后重启软件不会被重置** 70 | 71 | - `.Appimage` 格式自身的的缺陷,实际不能修改 AppDir 之内对应的路径的配置文件,故暂时无解;但不影响功能使用 72 | 73 | 74 | 75 | ## macOS 76 | 77 | ?> 1.x-2.x 仅支持 Intel 的芯片,但 3.x 支持 Apple M 芯和 Intel 芯 78 | 79 | 80 | 81 | **dmg 文件无法安装** 82 | 83 | - 请尝试以右键点击运行 84 | - 点击 dmg 后,将里面的 .app 拖曳到 `访达`-`应用程序` 中 85 | 86 | 87 | 88 | **截图时只显示了桌面** 89 | 90 | - macOS 10.14 之后的系统新增了 `屏幕录制` 权限,请到 `系统偏好设置` - `安全性与隐私` - `隐私` - `屏幕录制` 中添加 SunnyCapturer 91 | - 如 SunnyCapturer 已经勾选但仍有问题,请先取消勾选 SunnyCapturer,然后退出 SunnyCapturer,勾选权限后再重启 SunnyCapturer 92 | --------------------------------------------------------------------------------