您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Displays the text content of the image in the clipboard using OCR and displays it in an alert when the script is run.
- // ==UserScript==
- // @name OCR Image Content Display
- // @namespace http://tampermonkey.net/
- // @version 1.1.1
- // @description Displays the text content of the image in the clipboard using OCR and displays it in an alert when the script is run.
- // @match *://*/*
- // @grant none
- // @license MIT
- // ==/UserScript==
- (function() {
- 'use strict';
- async function displayImageContent() {
- const clipboardItems = await navigator.clipboard.read();
- for (const clipboardItem of clipboardItems) {
- for (const type of clipboardItem.types) {
- if (type.startsWith('image/')) {
- const blob = await clipboardItem.getType(type);
- const formData = new FormData();
- formData.append('apikey', '你自己的 api');
- formData.append('language', 'eng');
- formData.append('isOverlayRequired', 'false');
- formData.append('file', blob, 'image.png');
- const response = await fetch('https://api.ocr.space/parse/image', {
- method: 'POST',
- body: formData
- });
- const data = await response.json();
- if (data && data.ParsedResults && data.ParsedResults.length > 0) {
- const text = data.ParsedResults[0].ParsedText;
- // 将识别结果显示在一个提示框中
- // 调用 OpenAI 的翻译服务将识别结果翻译成中文
- const audio = new Audio(`https://tsn.baidu.com/text2audio?tex=${text}&lan=zh&cuid=abcdefg1234567&ctp=1&per=5003&tok=你自己的 tok`);
- const apiKey = "你自己的 api";
- const openaiResponse = await fetch('https://api.openai.com/v1/engines/text-davinci-003/completions', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- 'Authorization': `Bearer ${apiKey}`
- },
- body: JSON.stringify({
- prompt: `Translate the following English text into Chinese:\n\n${text}.`,
- max_tokens: 1000,
- n: 1,
- temperature: 0.9
- })
- });
- const openaiData = await openaiResponse.json();
- const translation = openaiData.choices[0].text;
- // 将识别结果和翻译结果显示在一个提示框中
- alert(`${text}${translation}`);
- audio.play();
- }
- }
- }
- }
- }
- const cursor = document.createElement('button');
- cursor.style.position = 'fixed';
- cursor.style.top = '10%';
- cursor.style.right = '10%';
- cursor.style.width = '50px';
- cursor.style.height = '50px';
- cursor.style.backgroundColor = '#b1c5b4';
- cursor.style.borderRadius = '50%';
- //cursor.style.cursor = 'pointer';
- cursor.style.boxShadow = '0 8 24px rgba(0, 0, 0, 0.15)';
- cursor.innerText = '👻';
- cursor.style.fontSize = '20px';
- cursor.style.border = "2px solid #888888";
- cursor.style.zIndex = '9999';
- document.body.appendChild(cursor);
- cursor.addEventListener('click', displayImageContent);
- })()