इमेज को 90° या 180° घुमाएँ और उसे क्षैतिज या लंबवत रूप से मिरर करें — सीधे आपके ब्राउज़र में।
पोर्ट्रेट में खींची गई फ़ोटो जो टेढ़ी दिखती है, उलटा स्कैन किया गया पन्ना, या ऐसी सेल्फ़ी जिसका टेक्स्ट उल्टा पढ़ा जाता है: ये तीन अलग समस्याएँ हैं और इनके दो अलग हल हैं। घुमाव इमेज को उसके केंद्र के चारों ओर घुमाता है और 90° या 270° पर उसकी चौड़ाई-ऊँचाई आपस में बदल देता है — 4000×3000 का लैंडस्केप 3000×4000 का पोर्ट्रेट बन जाता है। मिरर करना उसे एक अक्ष पर परावर्तित करता है और डाइमेंशन वैसे ही रखता है, जिससे फ़्रंट कैमरे का पलटाव सुधर जाता है, पर तस्वीर का कोई भी टेक्स्ट उल्टा हो जाता है। यह टूल आपको दोनों देता है, लाइव प्रीव्यू के साथ, ताकि आप देख सकें कि असल में ज़रूरत किसकी थी।
भीतर हर क्लिक एक छोटी-सी ट्रांसफ़ॉर्मेशन स्थिति अपडेट करता है — एक कोण और दो मिरर फ़्लैग — और canvas उस ट्रांसफ़ॉर्म के साथ सोर्स इमेज को शुरू से दोबारा बनाता है। कुछ भी पिछले नतीजे के ऊपर लागू नहीं होता, इसलिए बदलाव जुड़ते तो हैं पर क्वालिटी का नुक़सान कभी जमा नहीं होता, और रीसेट सचमुच मूल पिक्सलों पर वापसी है। बटन स्क्रीन-स्पेस में काम करते हैं, और यही वह हिस्सा है जिसे ज़्यादातर टूल ग़लत करते हैं: 90° घुमाने के बाद भी क्षैतिज मिरर वही पलटता है जो आप देख रहे हैं, न कि मूल अक्ष पर।
आउटपुट वही फ़ॉर्मैट रखता है जो आपने दिया था — PNG लॉसलेस रहती है, JPEG 0.92 क्वालिटी पर दोबारा एनकोड होती है और WebP, WebP ही रहती है। दोबारा एनकोड करने पर EXIF मेटाडेटा हमेशा हट जाता है, ओरिएंटेशन टैग भी, इसलिए टूल फ़ाइल को createImageBitmap और from-image ओरिएंटेशन विकल्प से पढ़ता है (जहाँ वह उपलब्ध नहीं, वहाँ सादे डिकोड पर लौटते हुए), जिससे आपके कुछ छूने से पहले ही सही ओरिएंटेशन पिक्सलों में पक जाता है। मेटाडेटा का जाना निजता के लिहाज़ से भी फ़ायदा है: GPS निर्देशांक और कैमरा पहचानकर्ता आपकी डाउनलोड की गई फ़ाइल के साथ नहीं जाते। सब कुछ आपके डिवाइस पर होता है, ब्राउज़र की मेमोरी ठीक रखने के लिए हर भुजा 8000 पिक्सल की सीमा के साथ।
Canvas ट्रांसफ़ॉर्म: translate(w/2, h/2) → rotate(θ) → scale(±1, ±1) → सोर्स को मूलबिंदु पर केंद्रित करके बनाएँ। θ के 90° या 270° होने पर आउटपुट canvas की चौड़ाई और ऊँचाई आपस में बदल जाती हैं। इन कोणों पर स्क्रीन-स्पेस का क्षैतिज मिरर सोर्स-स्पेस में लंबवत मिरर होता है — इसी वजह से घुमाने के बाद भी फ़्लिप बटन सहज बने रहते हैं।
नहीं। फ़ाइल आपके डिवाइस पर ही canvas API से डिकोड और दोबारा बनाई जाती है — कुछ भी अपलोड, स्टोर या लॉग नहीं होता। कनेक्शन बंद होने पर भी पेज काम करता रहता है।
घुमाने से इमेज अपने केंद्र के चारों ओर घूमती है और 90° पर चौड़ाई-ऊँचाई आपस में बदल जाती हैं; पलटने से वह एक अक्ष पर मिरर होती है और डाइमेंशन वही रहते हैं। टेढ़ी फ़ोटो के लिए घुमाव इस्तेमाल करें और ऐसी सेल्फ़ी के लिए फ़्लिप जिसका टेक्स्ट उल्टा पढ़ा जा रहा हो।
90° और 180° के घुमाव पिक्सलों को दोबारा सैंपल किए बिना खिसकाते हैं, इसलिए ज्यामिति के लिहाज़ से कोई नुक़सान नहीं होता। नुक़सान सिर्फ़ JPEG को दोबारा एनकोड करने से आता है, जो टूल 0.92 क्वालिटी पर करता है — देखने में सुरक्षित। PNG आउटपुट शुरू से आख़िर तक लॉसलेस है।
फ़ोन के कैमरे आम तौर पर तस्वीर को सेंसर की दिशा में सहेजते हैं और साथ में एक EXIF ओरिएंटेशन टैग रखते हैं जो व्यूअर को बताता है कि उसे कैसे घुमाना है। टूल लोड होते ही वह टैग लागू कर देता है, इसलिए जो आप देखते हैं वही दूसरे सही व्यूअर भी दिखाते हैं।
नहीं। canvas से दोबारा एनकोड करने पर सारा मेटाडेटा हट जाता है — ओरिएंटेशन, GPS निर्देशांक, कैमरा मॉडल और समय-मुहरें। ओरिएंटेशन तो पहले ही पिक्सलों में पक चुका होता है, और बाक़ी वैसे भी वह चीज़ है जिसे आप शायद शेयर नहीं करना चाहेंगे।
Vai.la किसी भी URL को क्लिक आंकड़ों, QR Code और आपके अपने बायोलिंक के साथ एक शॉर्ट लिंक में बदल देता है।
टूल्स का इस्तेमाल कैसे होता है या उनके परिणामों के आधार पर लिए गए निर्णयों के लिए Vai.la ज़िम्मेदार नहीं है।