Greasy Fork

Greasy Fork is available in English.

万能看图助手 | 弹出预览、旋转缩放、格式转换、图像下载

适用于所有网站的强大图片助手。支持图标化 UI,支持大图预览、旋转、缩放、格式转换及图像下载。内置 104 种语言 SEO 支持。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Universal Image Toolkit | Popup, Rotate, Scale, Convert, Download
// @name:af      Beeldgereedskapstel | Opspring, Draai, Skaal, Aflaai
// @name:am      የምስል መሣሪያ | ብቅ ባይ, አሽከርክር, መጠን, አውርድ
// @name:ar      أدوات الصور | منبثق، تدوير، قياس، تحميل
// @name:as      চিত্ৰ টুলকিট | পপআপ, ঘূৰাওক, স্কেল, ডাউনলোড
// @name:az      Şəkil Alətləri | Pop-up, Döndür, Ölçekle, Yüklə
// @name:be      Інструменты для малюнкаў | Усплывальнае, Павярнуць, Маштаб, Спампаваць
// @name:bg      Инструменти за изображения | Изскачащи, Завъртане, Мащабиране, Изтегляне
// @name:bn      চিত্র সরঞ্জাম বক্স | পপআপ, ঘোরান, স্কেল, ডাউনলোড
// @name:bs      Alat za slike | Iskakajući prozori, Rotiranje, Skaliranje, Preuzmi
// @name:ca      Eines d'imatge | Emergent, Gira, Escala, Descarregar
// @name:cs      Nástroje pro obrázky | Vyskakovací, Otočit, Měřítko, Stáhnout
// @name:da      Billedværktøjer | Pop op, Drej, Skaler, Hent
// @name:de      Bild-Toolkit | Popup, Drehen, Skalieren, Herunterladen
// @name:dz      ཕབ་ལེན། | ཕབ་ལེན།, སྐོར་བ།, ཚད།, ཕབ་ལེན།
// @name:el      Εργαλειοθήκη εικόνων | Αναδυόμενο, Περιστροφή, Κλίμακα, Λήψη
// @name:en      Image Pro Toolkit | Popup, Rotate, Scale, Download
// @name:eo      Iloj de Bildoj | Pop-up, Turni, Skali, Elŝuti
// @name:es      Herramientas de imagen | Emergente, Girar, Escalar, Descargar
// @name:et      Pilditööriistad | Hüpikaken, Pööra, Skaleeri, Laadi
// @name:eu      Irudi Tresnak | Pop-up, Biratu, Eskalatu, Deskargatu
// @name:fa      ابزار تصویر | پاپ آپ، چرخش، مقیاس، دانلود
// @name:fi      Kuvatyökalut | Popup, Kierrä, Skaalaa, Lataa
// @name:fil     Mga Tool sa Larawan | Popup, Paikutin, Scale, I-download
// @name:fr      Outils d'image | Fenêtre surgissante, Rotation, Échelle, Télécharger
// @name:ga      Íoslódáil | Íoslódáil, Rothlaigh, Scála, Íoslódáil
// @name:gl      Ferramentas de imaxe | Emerxente, Xirar, Escalar, Descargar
// @name:gn      Jedesarga | Jedesarga, Jere, Eskala, Jedesarga
// @name:gu      ચિત્ર ટૂલ્સ | પોપ-અપ, ફેરવો, સ્કેલ, ડાઉનલોડ
// @name:ha      Zazzage | Zazzage, Juya, Sikeli, Zazzage
// @name:hi      इमेज टूलकिट | पॉपअप, रोटेट, स्केल, डाउनलोड
// @name:hr      Alat za slike | Skočni prozori, Rotiraj, Skaliraj, Preuzmi
// @name:hu      Képes eszköztár | Felugró, Forgatás, Skálázás, Letöltés
// @name:hy      Պատկերային գործիքներ | Թռուցիկ, Պտտել, Մասշტաբել, Ներբեռնել
// @name:id      Alat Gambar | Popup, Putار, Skala, Unduh
// @name:ig      Budata | Budata, Gharia, Skala, Budata
// @name:is      Myndatól | Sprettigluggi, Snúa, Skala, Sækja
// @name:it      Strumenti immagine | Popup, Ruota, Scala, Scarica
// @name:iw      כלי תמונה | פופ-אп, סובב, קנה מידה, הורד
// @name:ja      画像プロアシスタント | ポップアップ、回転、ズーム、保存
// @name:jv      Alat Gambar | Popup, Puter, Skala, Unduh
// @name:ka      სურათის ინსტრუმენტები | ამოხტომა, დატრიალება, მასშტაბირება, ჩამოტვირთვა
// @name:kk      Сурет құралдары | Қалқымалы, Бұру, Масштабтау, Жүктеу
// @name:km      ឧបករណ៍រូបភាព | ផុសឡើង បង្វិល ធ្វើមាត្រដ្ឋាន ទាញយក
// @name:kn      ಚಿತ್ರ ಪರಿಕರಗಳು | ಪಾಪ್-အပ်, ತಿರುಗಿಸಿ, ಸ್ಕೇಲ್, ಡೌನ್‌ಲೋಡ್
// @name:ko      이미지 프로 도우미 | 팝업, 회전, 확대, 다운로드
// @name:ky      Сүрөт куралдары | Калкыма, Буруу, Масштабтоо, Жүктөө
// @name:lo      ເຄື່ອງມືຮູບພາບ | ປ໊ອບອັບ, ໝຸນ, ຂະໜາດ, ດາວໂຫລດ
// @name:lt      Vaizdo įrankiai | Iškylantysis, Pasukti, Mastelis, Atsisiųsti
// @name:lv      Attēlu rīki | Uznirstošais, Pagriezt, Mērogot, Lejuupielādēt
// @name:mg      Sintomy | Sintomy, Mihodina, Scale, Sintomy
// @name:mk      Алатки за слики | Скокачки прозорец, Ротирај, Скалирај, Преземи
// @name:ml      চিত্র টূককিট | পপআপ, রোটেট, স্কেল, ডাউনলোড
// @name:mn      Зургийн хэрэгсэл | Попап, Эргүүлэх, Масштаблах, Татах
// @name:mr      इमेज टूलकिट | पॉपअप, रोटेट, स्केल, डाउनलोड
// @name:ms      Alatan Imej | Popup, Putar, Skala, Muat Turun
// @name:mt      Għodda tal-Immaġini | Popup, Dawwar, Skala, Niżżel
// @name:my      ဒေါင်းလုဒ် | ဒေါင်းလုဒ်, လှည့်, စကေး, ဒေါင်းလုဒ်
// @name:ne      इमेज टूलकिट | पपअप, रोटेट, स्केल, डाउनलोड
// @name:nl      Afbeelding Toolkit | Popup, Draaien, Schalen, Download
// @name:no      Bildeverktøy | Pop-up, Roter, Skaler, Last ned
// @name:om      Buufadhu | Buufadhu, Naanneessi, Scale, Buufadhu
// @name:or      ଡାଉନଲୋଡ୍ | ଡାଉନଲୋଡ୍, ଘୂର୍ଣ୍ଣନ, ସ୍କେଲ୍, ଡାଉନଲୋଡ୍
// @name:pa      ਡਾਊਨਲੋଡ | ਡਾਊਨਲੋଡ, ਘੁੰਮਾਓ, ਸਕੇਲ, ਡਾਊਨਲੋଡ
// @name:pl      Narzędzia obrazu | Popup, Obróć, Skaluj, Pobierz
// @name:ps      ډاونلوډ | ډاونلوډ, څرخول, پیمانه, ډاونلوډ
// @name:pt      Ferramentas de Imagem | Popup, Girar, Escalar, Baixar
// @name:ro      Instrumente de Imagine | Popup, Rotiți, Scalați, Descărcați
// @name:ru      Набор инструментов для изображений | Всплывающее окно, Поворот, Масштаб, Скачать
// @name:rw      Gukuramo | Gukuramo, Kuzunguruka, Scale, Gukuramo
// @name:si      බාගන්න | බාගන්න, කරකවන්න, පරිමාණය, බාගන්න
// @name:sk      Nástroje na obrázky | Vyskakovacie, Otočiť, Mierka, Stiahnuť
// @name:sl      Orodja za slike | Pojavno okno, Zavrti, Merilo, Prenesi
// @name:sn      Tora | Tora, Tenderedza, Scale, Tora
// @name:so      Degso | Degso, Wareeg, Scale, Degso
// @name:sq      Mjetet e Imazhit | Popup, Rrotullo, Shkallëzo, Shkarko
// @name:sr      Alat za slike | Iskakajući prozori, Rotiraj, Skaliraj, Preuzmi
// @name:st      Khoasolla | Khoasolla, Potoloha, Scale, Khoasolla
// @name:sv      Bildverktyg | Pop-up, Rotera, Skala, Hämta
// @name:sw      Zana za Picha | Popup, Zungusha, Pima, Pakua
// @name:ta      பதிவிறக்கு | பதிவிறக்கு, சுழற்று, அளவிடு, பதிவிறக்கு
// @name:te      డೌన్‌లోడ్ | డౌన్‌లోড, తిప్పండి, స్కేల్, డౌన్‌లోడ్
// @name:tg      Зеркашӣ | Зеркашӣ, Чархондан, Миқёс, Зеркашӣ
// @name:th      เครื่องมือรูปภาพ | ป๊อปอัป, หมุน, ปรับขนาด, ดาวน์โหลด
// @name:ti      ኣውርድ | ኣውርድ, ኣሽከርክር, መጠን, ኣውርድ
// @name:tk      Ýükle | Ýükle, Aýla, Mastab, Ýükle
// @name:tr      Resim Araçları | Popup, Döndür, Ölçekle, İndir
// @name:ug      چۈشۈر | چۈشۈر, ئايلاندۇر, كۆلەملەشتۈر, چۈشۈر
// @name:uk      Інструменти для зображень | Спливаюче вікно, Повернути, Масштаб, Завантажити
// @name:ur      تصویر ٹول کٹ | پاپ اپ، گھمائیں، پیمانہ، ڈاؤن لوڈ
// @name:uz      Yuklab ol | Yuklab ol, Aylantirish, O'lchash, Yuklab ol
// @name:vi      Bộ công cụ hình ảnh | Popup, Xoay, Tỷ lệ, Tải xuống
// @name:yo      Gba sílẹ̀ | Gba sílẹ̀, Yípadà, Scale, Gba sílẹ̀
// @name:zh-CN   万能看图助手 | 弹出预览、旋转缩放、格式转换、图像下载
// @name:zh-HK   萬能看圖助手 | 彈出預覽、旋轉縮放、格式轉換、圖像下載
// @name:zh-TW   萬能看圖助手 | 彈出預覽、旋轉縮放、格式轉換、圖像下載
// @name:zu      Landa | Landa, Jikeleza, Scale, Landa
// @namespace    http://tampermonkey.net/
// @version      1.0.0
// @author       classccai
// @license      MIT
// @description  Universal image toolkit: popup, rotate, scale, convert (PNG/JPG/WebP), download. Support 104 languages.
// @description:af Universiële beeldgereedskapstel: opspringer, draai, skaal, omskakel (PNG/JPG/WebP), aflaai.
// @description:am ዓለም አቀፍ የምስል መሣሪያ ስብስብ፡ ብቅ ባይ፣ አሽከርክር፣ መጠን ቀይር፣ ቀይር (PNG/JPG/WebP)፣ አውርድ።
// @description:ar مجموعة أدوات الصور العالمية: منبثق، تدوير، قياس، تحويل (PNG/JPG/WebP)، تحميل.
// @description:as সাৰ্বজনীন চিত্ৰ সঁজুলি থুপ: পপআপ, ঘূৰাওক, স্কেল কৰক, ৰূপান্তৰ কৰক (PNG/JPG/WebP), ডাউনলোড কৰক।
// @description:az Universal şəkil alətləri dəستی: pop-up, döndər, miqyasla, çevir (PNG/JPG/WebP), yüklə.
// @description:be Універсальны набор інструментаў для малюнкаў: усплывальнае акно, паварот, маштаб, канвертаванне (PNG/JPG/WebP), спампоўка.
// @description:bg Универсален набор от инструменти за изображения: изскачащи прозорци, завъртане, мащабиране, конвертиране (PNG/JPG/WebP), изтегляне.
// @description:bn সর্বজনীন চিত্র টুলকিট: পপআপ, ঘোরান, স্কেল করুন, রূপান্তর করুন (PNG/JPG/WebP), ডাউনলোড করুন।
// @description:bs Univerzalni set alata za slike: iskačući prozori, rotiranje, skaliranje, pretvaranje (PNG/JPG/WebP), preuzimanje.
// @description:ca Conjunt d'eines d'imatge universal: emergent, gira, escala, converteix (PNG/JPG/WebP), descarrega.
// @description:cs Univerzální sada nástrojů pro obrázky: vyskakovací okno, otočení, měřítko, převod (PNG/JPG/WebP), stažení.
// @description:da Universelt billedværktøjssæt: popup, roter, skaler, konverter (PNG/JPG/WebP), download.
// @description:de Universelles Bild-Toolkit: Popup, Drehen, Skalieren, Konvertieren (PNG/JPG/WebP), Herunterladen.
// @description:dz ཕབ་ལེན། སྐོར་བ། ཚད། གཞི་བསྒྱུར། ཕབ་ལེན།
// @description:el Παγκόσμια εργαλειοθήκη εικόνων: αναδυόμενο παράθυρο, περιστροφή, κλιμάκωση, μετατροπή (PNG/JPG/WebP), λήψη.
// @description:en Universal image toolkit: popup, rotate, scale, convert (PNG/JPG/WebP), download.
// @description:eo Universala bildilaro: ŝprucfenestro, turni, skali, konverti (PNG/JPG/WebP), elŝuti.
// @description:es Kit de herramientas de imagen universal: ventana emergente, rotar, escalar, convertir (PNG/JPG/WebP), descargar.
// @description:et Universaalne pilditööriistade komplekt: hüpikaken, pööramine, skaleerimine, teisendamine (PNG/JPG/WebP), allalaadimine.
// @description:eu Irudi-tresna unibertsalak: pop-up, biratu, eskalatu, bihurtu (PNG/JPG/WebP), deskargatu.
// @description:fa مجموعه ابزار جهانی تصویر: پاپ آپ، چرخش، مقیاس، تبدیل (PNG/JPG/WebP)، دانلود.
// @description:fi Universaali kuvatyökalusarja: popup, kierto, skaalaus, muunnos (PNG/JPG/WebP), lataus.
// @description:fil Universal na toolkit ng imahe: popup, rotate, scale, convert (PNG/JPG/WebP), download.
// @description:fr Boîte à outils d'image universelle : fenêtre surgissante, rotation, mise à l'échelle, conversion (PNG/JPG/WebP), téléchargement.
// @description:ga Foireann uirlisí íomhá uilíoch: aníos, rothlú, scála, tiontú (PNG/JPG/WebP), íoslódáil.
// @description:gl Conxunto de ferramentas de imaxe universal: emerxente, xirar, escalar, converter (PNG/JPG/WebP), descargar.
// @description:gn Jedesarga, Jere, Eskala, Jedesarga (PNG/JPG/WebP).
// @description:gu સાર્વત્રિક છબી ટૂલકિટ: પોપ-અપ, ફેરવો, સ્કેલ કરો, કન્વર્ટ કરો (PNG/JPG/WebP), ડાઉનલોડ કરો.
// @description:ha Kayan aikin hoto na duniya: popup, juya, sikelin, canzawa (PNG/JPG/WebP), zazzagewa.
// @description:hi यूनिवर्सल इमेज टूलकिट: पॉपअप, रोटेट, स्केल, कन्वर्ट (PNG/JPG/WebP), डाउनलोड।
// @description:hr Univerzalni set alata za slike: skočni prozori, rotiranje, skaliranje, pretvaranje (PNG/JPG/WebP), preuzimanje.
// @description:hu Univerzális képes eszköztár: felugró ablak, forgatás, méretezés, konvertálás (PNG/JPG/WebP), letöltés.
// @description:hy Պատկերների համընդհանուր գործիքակազմ. թռուցիկ պատուհան, պտտում, մասշտաբավորում, փոխակերպում (PNG/JPG/WebP), ներբեռնում:
// @description:id Toolkit gambar universal: popup, putar, skala, konversi (PNG/JPG/WebP), unduh.
// @description:ig Ngwa ihe osise zuru ụwa ọnụ: popup, tụgharịa, tụọ, gbanwee (PNG/JPG/WebP), budata.
// @description:is Alhliða myndatólasett: sprettigluggi, snúningur, kvörðun, umbreyting (PNG/JPG/WebP), niðurhal.
// @description:it Toolkit universale per immagini: popup, ruota, scala, converti (PNG/JPG/WebP), scarica.
// @description:iw ערכת כלים אוניברסלית לתמונות: חלון קופץ, סיבוב, קנה מידה, המרה (PNG/JPG/WebP), הורדה.
// @description:ja 万能画像ツールキット:ポップアップ、回転、スケーリング、変換(PNG/JPG/WebP)、ダウンロード。
// @description:jv Toolkit gambar universal: popup, putar, skala, konversi (PNG/JPG/WebP), unduh.
// @description:ka სურათების უნივერსალური ინსტრუმენტარიუმი: ამომხტარი ფანჯარა, როტაცია, მასშტაბირება, კონვერტაცია (PNG/JPG/WebP), ჩამოტვირთვა.
// @description:kk Әмбебап сурет құралдар жиынтығы: қалқымалы терезе, бұру, масштабтау, түрлендіру (PNG/JPG/WebP), жүктеу.
// @description:km កញ្ចប់ឧបករណ៍រូបភាពសកល៖ ផុសឡើង, បង្វិល, ធ្វើមាត្រដ្ឋាន, បម្លែង (PNG/JPG/WebP), ទាញយក។
// @description:kn ಸಾರ್ವತ್ರಿಕ ಚಿತ್ರ ಪರಿಕರಗಳು: ಪಾಪ್-ಅಪ್, ತಿರುಗಿಸು, ಸ್ಕේಲ್, ಪರಿವರ್තಿಸු (PNG/JPG/WebP), ডೌನ್‌ಲೋಡ್.
// @description:ko 범용 이미지 도구 키트: 팝업, 회전, 크기 조정, 변환(PNG/JPG/WebP), 다운로드.
// @description:ky Универсалдуу сүрөт куралдар топтому: калкыма тереزه, буруу, масштабдоо, конвертациялоо (PNG/JPG/WebP), жүктөп алуу.
// @description:lo ຊຸດເຄື່ອງມືຮູບພາບສາກົນ: ປັອບອັບ, ໝຸນ, ຂະໜາດ, ແປງ (PNG/JPG/WebP), ດາວໂຫລດ.
// @description:lt Universalus vaizdo įrankių rinkinys: iššokantis langas, pasukimas, mastelio keitimas, konvertavimas (PNG/JPG/WebP), atsisiuntimas.
// @description:lv Universāls attēlu rīku komplekts: uznirstošais logs, pagriešana, mērogošana, konvertēšana (PNG/JPG/WebP), lejupielāde.
// @description:mg Kitapo fitaovana sary manerantany: popup, mihodina, scale, miova (PNG/JPG/WebP), sintomy.
// @description:mk Универзален сет алатки за слики: скокачки прозорец, ротирање, скалирање, конверਤੀрање (PNG/JPG/WebP), преземање.
// @description:ml സാർവത്രിക ചിത്ര ടൂൾകിറ്റ്: പോപ്പ്അപ്പ്, റൊട്ടേറ്റ് ചെയ്യുക, സ്കെയിൽ ചെയ്യുക, പരിവർത്തനം ചെയ്യുക (PNG/JPG/WebP), ഡൗൺലോድ ചെയ്യുക.
// @description:mn Зургийн түгээмэл хэрэгсэл: попап, эргүүлэх, масштаблах, хөрвүүлэх (PNG/JPG/WebP), татах.
// @description:mr युनिव्हर्सल इमेज टूलकिट: पॉपअप, रोटेट, स्केल, कन्वर्ट (PNG/JPG/WebP), डाउनलोड.
// @description:ms Toolkit imej universal: popup, putar, skala, tukar (PNG/JPG/WebP), muat turun.
// @description:mt Sett ta' għodod tal-immaġni universali: popup, dawwar, skala, ikkonverti (PNG/JPG/WebP), niżżel.
// @description:my ကမ္ဘာလုံးဆိုင်ရာ ရုပ်ပုံတူးလ်ကစ်- ပေါ့ပ်အပ်၊ လှည့်ခြင်း၊ စကေးချခြင်း၊ ပြောင်းလဲခြင်း (PNG/JPG/WebP)၊ ဒေါင်းလုဒ်လုပ်ခြင်း။
// @description:ne युनिभर्सल इमेज टूलकिट: पपअप, घुमाउनुहोस्, स्केल गर्नुहोस्, रूपान्तरण गर्नुहोस् (PNG/JPG/WebP), डाउनलोड गर्नुहोस्।
// @description:nl Universele toolkit voor afbeeldingen: popup, draaien, schalen, converteren (PNG/JPG/WebP), downloaden.
// @description:no Universelt bildeverktøysett: popup, roter, skaler, konverter (PNG/JPG/WebP), last ned.
// @description:om Meeshaa fakkii idil-addunyaa: popup, naanneessuu, safara, jijjiiruu (PNG/JPG/WebP), buufachuu.
// @description:or ସାର୍ବଜନୀନ ଚିତ୍ର ଟୁଲକିଟ୍: ପପ୍-ଅପ୍, ଘୂର୍ଣ୍ଣନ, ସ୍କେଲ୍, ରୂପାନ୍ତର (PNG/JPG/WebP), ଡାଉନଲୋଡ୍ |
// @description:pa ਯੂਨੀਵਰਸਲ ਚਿੱਤਰ ਟੂਲਕਿੱਟ: ਪੌਪਅੱਪ, ਘੁੰਮਾਓ, ਸਕੇਲ, ਕਨਵਰਟ (PNG/JPG/WebP), ਡਾਊਨਲੋਡ।
// @description:pl Uniwersalny zestaw narzędzi graficznych: wyskakujące okienko, obracanie, skalowanie, konwertowanie (PNG/JPG/WebP), pobieranie.
// @description:ps د انځور نړیوال اوزار کټ: پاپ اپ، څرخول، پیمانه، بدلول (PNG/JPG/WebP)، ډاونلوډ.
// @description:pt Conjunto de ferramentas de imagem universal: pop-up, girar, escalar, converter (PNG/JPG/WebP), baixar.
// @description:ro Set de instrumente universal pentru imagini: popup, rotire, scalare, convertire (PNG/JPG/WebP), descărcare.
// @description:ru Универсальный набор инструментов для работы с изображениями: всплывающее окно, поворот, масштабирование, конвертация (PNG/JPG/WebP), загрузка.
// @description:rw Ibikoresho by'ishusho mpuzamahanga: popup, kuzunguruka, scale, guhindura (PNG/JPG/WebP), gukuramo.
// @description:si විශ්ව රූප මෙවලම් කට්ටලය: උත්පතන, කරකවන්න, පරිමාණය, පරිවර්තනය (PNG/JPG/WebP), බාගත කරන්න.
// @description:sk Univerzálna sada nástrojov pre obrázky: vyskakovacie okno, otočenie, mierka, prevod (PNG/JPG/WebP), stiahnutie.
// @description:sl Univerzalni nabor orodij za slike: pojavno okno, vrtenje, prilagajanje velikosti, pretvarjanje (PNG/JPG/WebP), prenos.
// @description:sn Chishandiso chemufananidzo chepasirese: popup, tenderedza, scale, shandura (PNG/JPG/WebP), tora.
// @description:so Qalabka sawirka ee caalamiga ah: popup, wareeji, miisaan, beddel (PNG/JPG/WebP), soo dejiso.
// @description:sq Paketë universale mjetesh imazhi: popup, rrotullim, shkallëzim, konvertim (PNG/JPG/WebP), shkarkim.
// @description:sr Универзални сет алата за слике: скочни прозори, ротирање, скалиራње, конвертовање (PNG/JPG/Webп), преузимање.
// @description:st Sesebediswa sa setshwantsho sa lefatshe ka bophara: popup, potoloha, scale, fetola (PNG/JPG/WebP), khoasolla.
// @description:sv Universell bilduppsättning: popup, rotera, skala, konvertera (PNG/JPG/WebP), hämta.
// @description:sw Zana za picha za ulimwengu wote: popup, zungusha, pima, badilisha (PNG/JPG/WebP), pakua.
// @description:ta உலகளாவிய படக் கருவித்தொகுதி: பாப்-அப், சுழற்று, அளவிடு, மாற்று (PNG/JPG/WebP), பதிவிறக்கம்.
// @description:te యూనివర్సల్ ఇමේಜ್ టూల్‌కిట్: పాప్-అప్, రొటేట్, స్కేల్, కన్వర్ట్ (PNG/JPG/WebP), డౌన్‌లోడ్.
// @description:tg Маҷмӯи асбобҳои тасвирии универсалӣ: поп-ап, гардиш, миқёс, табдил (PNG/JPG/WebP), зеркашӣ.
// @description:th ชุดเครื่องมือรูปภาพสากล: ป๊อปอัป, หมุน, ปรับขนาด, แปลงไฟล์ (PNG/JPG/WebP), ดาวน์โหลด
// @description:ti ዓለም አቀፍ የምስል መሣሪያ ስብስብ፡ ብቅ ባይ፣ ኣሽከርክር፣ መጠን ቀይር፣ ቀይር (PNG/JPG/WebP)፣ ኣውርድ።
// @description:tk Universal surat guralary: popup, aýla, masştab, öwür (PNG/JPG/WebP), ýükle.
// @description:tr Evrensel resim araç seti: açılır pencere, döndürme, ölçeklendirme, dönüştürme (PNG/JPG/WebP), indirme.
// @description:ug ئۇنىۋېرسال سۈرەت قورال ساندۇقى: قالقىما كۆزنەك، ئايلاندۇرۇش، چوڭ-كىچىկلىكىنى تەڭشەش، ئايلاندۇرۇش (PNG/JPG/WebP)، چۈشۈرۈش.
// @description:uk Універсальний набір інструментів для зображень: спливаюче вікно, поворот, масштаб, конвертація (PNG/JPG/WebP), завантаження.
// @description:ur یونیورسل امیج ٹول کٹ: پاپ اپ، گھمائیں، پیمانہ، تبدیل کریں (PNG/JPG/WebP)، ڈاؤن لوڈ۔
// @description:uz Universal rasm asboblari to'plami: popup, aylantirish, o'lchash, o'zgartirish (PNG/JPG/WebP), yuklab olish.
// @description:vi Bộ công cụ hình ảnh đa năng: popup, xoay, tỷ lệ, chuyển đổi (PNG/JPG/WebP), tải xuống.
// @description:yo Ohun elo aworan agbaye: popup, yiyi, iwọn, yipada (PNG/JPG/WebP), gba sílẹ̀.
// @description:zh-CN 适用于所有网站的强大图片助手。支持图标化 UI,支持大图预览、旋转、缩放、格式转换及图像下载。内置 104 种语言 SEO 支持。
// @description:zh-HK 適用於所有網站的強大圖片助手。支持圖標化 UI,支持大圖預覽、旋轉、縮放、格式轉換及圖像下載。內置 104 種語言 SEO 支持。
// @description:zh-TW 適用於所有網站的強大圖片助手。支持圖標化 UI,支持大圖預覽、旋轉、縮放、格式轉換及圖像下載。內置 104 種語言 SEO 支持。
// @description:zu I-toolkit yesithombe yonke indawo: i-popup, jikeleza, sikala, guqula (PNG/JPG/WebP), landa.
// @match        *://*/*
// @grant        GM_download
// @grant        GM_addStyle
// @run-at       document-end
// ==/UserScript==

(function() {
    'use strict';

    // 核心样式
    GM_addStyle(`
        :root {
            --kit-grad: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            --kit-hover: linear-gradient(135deg, #2af598 0%, #009efd 100%);
            --kit-bg: rgba(20, 20, 20, 0.95);
        }
        #kit-ball {
            position: fixed; width: 44px; height: 44px; background: var(--kit-grad);
            border-radius: 50%; display: none; align-items: center; justify-content: center;
            z-index: 2147483647; cursor: pointer; box-shadow: 0 4px 15px rgba(0,0,0,0.4);
            border: 1.5px solid rgba(255,255,255,0.2); transition: transform 0.2s ease;
        }
        #kit-ball:hover { transform: scale(1.1); }
        #kit-ball svg { width: 22px; height: 22px; fill: white; pointer-events: none; }
        #kit-overlay {
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(0,0,0,0.98); z-index: 2147483647; display: none;
            flex-direction: column; align-items: center; backdrop-filter: blur(20px); overflow: hidden;
        }
        #kit-view-area { flex: 1; width: 100%; display: flex; justify-content: center; align-items: center; overflow: hidden; padding: 20px; box-sizing: border-box; }
        #kit-img { transition: transform 0.25s cubic-bezier(0.1,0.7,0.1,1); max-width: 100%; max-height: 100%; object-fit: contain; cursor: grab; }
        #kit-tool-area { width: 100%; height: 85px; display: flex; justify-content: center; align-items: center; background: rgba(10,10,10,0.7); border-top: 1px solid rgba(255,255,255,0.1); }
        #kit-toolbar { display: flex; gap: 8px; background: rgba(45,45,45,0.9); padding: 8px 18px; border-radius: 40px; border: 1px solid rgba(255,255,255,0.15); align-items: center; box-shadow: 0 8px 30px rgba(0,0,0,0.6); }
        .kit-sep { width: 1.5px; height: 16px; background: rgba(255,255,255,0.1); margin: 0 4px; }
        .kit-btn { padding: 7px 14px; color: #fff; font-size: 13px; cursor: pointer; border-radius: 20px; transition: 0.2s; white-space: nowrap; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.05); font-weight: bold; display: flex; align-items: center; justify-content: center; }
        .kit-btn svg { width: 18px; height: 18px; fill: white; }
        .kit-btn:hover { background: var(--kit-hover); transform: translateY(-1px); box-shadow: 0 0 15px rgba(42, 245, 152, 0.4); }
        .kit-btn.danger:hover { background: linear-gradient(135deg, #ff6b6b, #ff453a); }
        .kit-txt-btn { font-size: 12px; font-family: sans-serif; }
    `);

    const Engine = {
        getRaw(url) {
            let r = url;
            const rules = [{ reg: /(.+?\.jpg)_.+/, rep: '$1' }, { reg: /(.+?\.(?:jpg|png|webp|jpeg))!.*/i, rep: '$1' }, { reg: /(.+?\.(?:jpg|png|webp|jpeg))\?.*/i, rep: '$1' }, { reg: /\/(thumb|small|middle)\//i, rep: '/large/' }];
            rules.forEach(rule => r = r.replace(rule.reg, rule.rep));
            return r;
        },
        async save(src, format, q = 1.0) {
            const img = new Image();
            img.crossOrigin = "anonymous";
            img.onload = () => {
                const cvs = document.createElement('canvas');
                cvs.width = img.naturalWidth; cvs.height = img.naturalHeight;
                const ctx = cvs.getContext('2d'); ctx.drawImage(img, 0, 0);
                let mime = format === 'png' ? 'image/png' : (format === 'webp' ? 'image/webp' : 'image/jpeg');
                cvs.toBlob(b => {
                    if (!b) return;
                    const u = URL.createObjectURL(b);
                    const a = document.createElement('a'); a.href = u;
                    a.download = `IMG_${Date.now()}.${format}`; a.click();
                    URL.revokeObjectURL(u);
                }, mime, q);
            };
            img.src = src;
        }
    };

    // SVG 图标集合
    const Icons = {
        rotL: `<svg viewBox="0 0 24 24"><path d="M7.11 8.53L5.7 7.11C4.8 8.27 4.24 9.61 4.07 11h2.02c.14-.87.49-1.67 1.02-2.47zM6.09 13H4.07c.17 1.39.72 2.73 1.62 3.89l1.41-1.42c-.52-.8-.87-1.59-1.01-2.47zM18 7l-4 4h3c0 3.87-3.13 7-7 7-1.91 0-3.64-.76-4.9-2l-1.45 1.45C5.38 19.18 7.56 20 10 20c4.97 0 9-4.03 9-9h3l-4-4z"/></svg>`,
        rotR: `<svg viewBox="0 0 24 24"><path d="M16.89 15.47L18.3 16.89c.9-1.16 1.46-2.5 1.63-3.89h-2.02c-.14.87-.49 1.67-1.02 2.47zM17.91 11h2.02c-.17-1.39-.72-2.73-1.62-3.89l-1.41 1.42c.52.8.87 1.59 1.01 2.47zM6 17l4-4H7c0-3.87 3.13-7 7-7 1.91 0 3.64.76 4.9 2l1.45-1.45C18.62 4.82 16.44 4 14 4c-4.97 0-9 4.03-9 9H2l4 4z"/></svg>`,
        zoomIn: `<svg viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/><path d="M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"/></svg>`,
        zoomOut: `<svg viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/><path d="M7 9h5v1H7z"/></svg>`,
        download: `<svg viewBox="0 0 24 24"><path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"/></svg>`,
        close: `<svg viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>`
    };

    let curTarget = null, rotate = 0, zoom = 1;

    const ball = document.createElement('div');
    ball.id = 'kit-ball';
    ball.innerHTML = `<svg viewBox="0 0 24 24"><path d="M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"/></svg>`;
    document.body.appendChild(ball);

    const overlay = document.createElement('div');
    overlay.id = 'kit-overlay';
    overlay.innerHTML = `
        <div id="kit-view-area"><img id="kit-img"></div>
        <div id="kit-tool-area">
            <div id="kit-toolbar">
                <div class="kit-btn" id="k-rl" title="Rotate Left">${Icons.rotL}</div>
                <div class="kit-btn" id="k-rr" title="Rotate Right">${Icons.rotR}</div>
                <div class="kit-sep"></div>
                <div class="kit-btn" id="k-in" title="Zoom In">${Icons.zoomIn}</div>
                <div class="kit-btn" id="k-out" title="Zoom Out">${Icons.zoomOut}</div>
                <div class="kit-sep"></div>
                <div class="kit-btn" id="k-dl" title="Download Original">${Icons.download}</div>
                <div class="kit-btn kit-txt-btn" id="k-png" title="Convert to PNG">PNG</div>
                <div class="kit-btn kit-txt-btn" id="k-webp" title="Convert to WebP">WebP</div>
                <div class="kit-btn kit-txt-btn" id="k-zip" title="Smart Compress JPG">Smart</div>
                <div class="kit-sep"></div>
                <div class="kit-btn danger" id="k-exit" title="Exit">${Icons.close}</div>
            </div>
        </div>
    `;
    document.body.appendChild(overlay);
    const vImg = document.getElementById('kit-img');
    const refresh = () => vImg.style.transform = `rotate(${rotate}deg) scale(${zoom})`;

    document.addEventListener('mouseover', e => {
        if (e.target.tagName === 'IMG' && e.target.naturalWidth > 50) {
            curTarget = e.target;
            const r = curTarget.getBoundingClientRect();
            ball.style.display = 'flex';
            ball.style.top = (r.top + 10) + 'px';
            ball.style.left = (r.left + r.width - 55) + 'px';
        }
    });

    document.addEventListener('mouseout', e => {
        if (e.target.tagName === 'IMG') {
            if (!e.relatedTarget || (e.relatedTarget !== ball && !ball.contains(e.relatedTarget))) {
                ball.style.display = 'none';
            }
        }
    });

    ball.onclick = () => {
        vImg.src = Engine.getRaw(curTarget.src);
        overlay.style.display = 'flex';
        rotate = 0; zoom = 1; refresh();
        ball.style.display = 'none';
    };

    document.getElementById('k-rl').onclick = () => { rotate -= 90; refresh(); };
    document.getElementById('k-rr').onclick = () => { rotate += 90; refresh(); };
    document.getElementById('k-in').onclick = () => { zoom += 0.2; refresh(); };
    document.getElementById('k-out').onclick = () => { zoom = Math.max(0.1, zoom - 0.2); refresh(); };
    document.getElementById('k-dl').onclick = () => GM_download(Engine.getRaw(vImg.src), 'IMG.jpg');
    document.getElementById('k-png').onclick = () => Engine.save(vImg.src, 'png');
    document.getElementById('k-webp').onclick = () => Engine.save(vImg.src, 'webp');
    document.getElementById('k-zip').onclick = () => Engine.save(vImg.src, 'jpg', 0.6);
    document.getElementById('k-exit').onclick = () => overlay.style.display = 'none';

    overlay.onwheel = (e) => { e.preventDefault(); zoom += e.deltaY > 0 ? -0.1 : 0.1; zoom = Math.max(0.1, zoom); refresh(); };
    document.getElementById('kit-view-area').onclick = (e) => { if (e.target.id === 'kit-view-area') overlay.style.display = 'none'; };

})();