一個完全在瀏覽器中執行的圖片旋轉工具是安全的,因為您選擇的照片會在本地解碼並處理——沒有任何檔案、檔名或旋轉選擇會被傳送到遠端伺服器。風險問題其實不是「旋轉是否危險?」,而是「處理工作在哪裡進行,以及工具保留了什麼?」基於伺服器的旋轉工具會接收您的圖片位元組,在您無法控制的基礎架構上處理,並儲存該傳輸的紀錄檔;本地工具則會將來源解碼到當前分頁的畫布中,並從同一個畫布匯出 PNG,全程無需經過網路。這種區別正是區分一個「能妥善對待普通照片、草稿設計、掃描檔與螢幕擷圖」的工具,以及一個「悄悄把第三方引入工作流程」的工具的關鍵。Image Rotator 屬於後者:它會驗證 MIME 類型與壓縮大小,透過暫存物件網址解碼來源,拒絕超過 25 MB 或 4000 萬像素的檔案,以原始像素尺寸繪製到預先規劃的輸出畫布上,並使用一個全新的下載網址匯出結果,該網址在您再次旋轉時就會立即被取代。任何圖片位元組都不會離開您的裝置,而這正是回答安全性問題的唯一事實。

is image rotator safe to use online
Image Rotator 在線上使用是否安全?隱私檢查

安全的線上旋轉實際上需要什麼

「安全」並非單一檢查;而是多項檢查的堆疊,任何一項失敗都會把一個有用的工具變成隱私漏洞。一個值得信賴的圖片旋轉工具必須同時通過三道關卡:它必須讓您的圖片留在本地,必須宣告輸出實際包含什麼,並且在輸入不被支援時必須大聲地失敗。

隱私是多數讀者最關心的關卡。即使操作者承諾稍後刪除,伺服器端的工具在處理過程中仍會收到您照片的一份副本;中繼資料、檔名、IP 位址與時間戳記都可能作為傳輸的副作用而被記錄下來。保真度是第二道關卡。一個旋轉工具不應在聲稱執行旋轉時,悄悄縮放、裁切、拉伸或降取樣您的照片,因為 1200×800 的來源和 600×400 的輸出之間,差距是四倍的像素減少,這是任何預覽都不會為您標示出來的。透明度是第三道關卡:工具應該事先說明其支援的格式、壓縮大小上限與解碼像素預算,並應該以清楚的訊息拒絕任何超出這些限制的輸入,而不是產生一個過時或不完整的結果。

在旋轉工具頁面上要尋找的安全訊號

在您上傳任何檔案之前,快速掃描頁面就能告訴您大部分您需要知道的資訊。尋找明確聲明處理發生在瀏覽器而非伺服器上的說明,以及一份列出支援格式及其最大大小的清單。尋找對輸出內容的描述,包括是否保留或去除 EXIF 中繼資料、色彩描述檔與動畫影格。尋找可見的錯誤處理:一個誠實的工具會告訴您檔案為何被拒絕,而不是悄悄產生一個較小、模糊或其他方式被更動的圖片而不告知您。尋找要求您將結果儲存到本地的下載步驟,而不是一個將旋轉後的照片發佈到您未選擇的公開網址的工具。

如果一個工具頁面對上述任何一點保持沉默,請將其視為一個警訊,而非綠燈。一個未提及處理發生在哪裡的頁面,幾乎肯定正在將您的照片上傳到某處。一個未列出大小限制的頁面,幾乎肯定正在套用一個隱形的上限,從而扭曲大型輸入。

本地瀏覽器旋轉工具如何消除主要風險

本地處理之所以重要,是因為瀏覽器可以解碼點陣圖、繪製到畫布上並匯出 PNG,全程無需將檔案放到網路上。解碼器將來源讀入記憶體,畫布渲染器套用所選的座標變換,匯出步驟則從畫布像素建立全新的 PNG Blob。每個步驟都發生在頁面的 JavaScript 內容中。旋轉方案(在繪製原始尺寸來源前先設定輸出畫布大小與仿射矩陣)會傳遞給 CanvasRenderingContext2D.setTransform,這是圍繞精確原點旋轉且不會累進捨入誤差的官方作法。匯出的 PNG 由 HTMLCanvasElement.toBlob 產生,它會回傳一個 Blob 物件,再由瀏覽器將其轉換為短暫存在的下載網址。當您再次旋轉、選擇另一個檔案或離開頁面時,該網址會被取代並釋放。唯一的網路流量就是工具本身的初始載入;之後,您的照片僅由一個暫存物件網址表示,該網址會在解碼完成後立即撤銷。

Image Rotator 完全遵循這個模式。所選檔案只會在被讀取到一個暫存本地物件網址中,停留瀏覽器解碼所需的時間,該網址在解碼後立即釋放。產生的 PNG 會獲得自己的暫存下載網址,並且不會有任何圖片內容、檔名、旋轉選擇或輸出被傳送到 Lizely。對於普通照片、草稿設計、掃描檔與螢幕擷圖而言,本地處理是實質的隱私優勢,但您在分享最終檔案之前仍應親自檢視,因為工具無法代您判斷意圖。

Image Rotator 預先強制執行的限制

Image Rotator 公開其限制,而不是悄悄截斷輸入。如果下載文件跨越以下任何一條界線,工具會顯示明確的訊息,且螢幕上不會留下任何過時的結果。這些是硬性拒絕,而非悄悄降低品質的軟性上限。

限制數值存在的原因
接受的格式JPEG、PNG、WebP每種格式都會解碼為畫布可以繪製的單一靜態點陣圖
排除的格式SVGSVG 可以引用外部內容,且並非單純解碼的點陣圖
壓縮檔案大小最高 25 MB限制瀏覽器讀入記憶體的檔案大小
解碼像素最高 4000 萬像素限制解碼後記憶體中畫布的大小
任一單邊最高 20,000 像素避免畫布在任一軸上超過瀏覽器限制
輸出格式PNG(永遠)在旋轉後提供一致的無失真點陣圖

壓縮位元組與解碼像素會分開檢查,因為兩者無法互相預測:一個小 JPEG 可以解碼成巨大的畫布,一個大 PNG 解碼後也可能大部分是空白空間。兩個數字都會顯示在螢幕上,讓您在儲存前就能看到自己接近哪個限制。

如何在瀏覽器中安全地旋轉照片

當您想要將一張歪斜的手機照片、上下顛倒的掃描檔,或橫轉直的素材翻正,卻不想將檔案傳送到任何地方時,請使用 Image Rotator。工作流程刻意設計得很短,以便每個步驟都可被稽核。

  1. 選擇一張不超過 25 MB 的 JPG、PNG 或 WebP 圖片,並在頁面上確認其顯示的像素尺寸。
  2. 根據哪個方向能修正方向,從「左旋轉 90°」、「右旋轉 90°」或「旋轉 180°」中選擇。
  3. 在儲存前,於結果面板中檢視旋轉標籤、新的像素尺寸與檔案大小。
  4. 下載完整解析度的 PNG,並在您打算使用的應用程式中開啟。

對於 1200×800 的來源,向左或向右旋轉後的結果畫布為 800×1200,因為寬度與高度互換;180 度旋轉則維持 1200×800,因為兩軸反轉但位置不交換。頁面上的預覽受 CSS 限制以配合版面,但可下載的 PNG 是從完整的輸出畫布繪製的,因此儲存的檔案會與報告的尺寸完全一致。

旋轉無法保留的內容

旋轉是解碼像素的幾何變換;它並非容器重寫。來源保留在可見點陣圖之外的任何內容,都無法保證在經過畫布的來回處理後仍然存在。

屬性旋轉是否保留?原因
規劃的像素尺寸是輸出畫布的大小由共享的旋轉方案決定
可見點陣圖內容是來源以原始像素大小繪製到規劃的畫布中
JPEG/WebP 壓縮否輸出永遠是新編碼的 PNG
EXIF 中繼資料區塊不保證畫布匯出的是像素,而非原始容器
相機方向標記不保證PNG 沒有可寫入的 EXIF 區塊
ICC 色彩描述檔不保證PNG 匯出使用瀏覽器預設的色彩處理方式
動畫(動畫 WebP)否輸出是新編碼的靜態 PNG,因此不保留動畫影格

如果您需要原始的 EXIF 區塊、相機方向旗標或動畫影格,請旋轉一個工作副本,然後透過專用工具重新附加中繼資料,而非期望單一的旋轉動作能讓檔案容器保持不變。

何時不同的本地工具是更安全的選擇

一個誠實地只做一件工作的旋轉工具,有時並非正確的工具。如果方向已經正確,而圖片需要的是鏡像翻轉而非旋轉,那麼 Image Flipper 才是正確的選擇,因為翻轉是它自己的變換,旋轉無法還原它。如果方向正確但尺寸錯誤,Image Resizer 是更安全的選擇;90 度旋轉會交換寬度與高度,這與您想要特定像素數量的目標相反。對於需要分享的普通照片,旋轉一個工作副本、下載 PNG,並在目的地應用程式中確認結果,這個例行程序能讓工作流程中不出現意外。

如果您正在權衡選項,Is a Placeholder Image Generator Safe to Use Online? 對此有詳細說明。

如果您正在權衡選項,Rotate Multiple Images Locally Without Uploading 對此有詳細說明。