Image、File 與 Video 擴充
Image 的剪貼簿、下載與重新編碼,File 的縮圖擷取,以及 <video> 元素的一次性設定。
Image
原始碼:src/prototype/Image.ts
| 方法/屬性 | 說明 |
|---|---|
img.copy(mime = "image/jpeg") |
非同步;透過 ClipboardItem 將圖片複製至剪貼簿 |
img.download(mime = "image/jpeg", filename?) |
以 object-URL <a download> 連結觸發瀏覽器下載 |
img.$base64(mime, size?) |
透過離屏 <canvas> 重新編碼;size(若小於最長邊)會等比例縮小圖片 |
img.$blob(mime, size?) |
將 $base64 解碼回 Blob |
File
原始碼:src/prototype/File.ts
| 方法 | 說明 |
|---|---|
file.$image(isVideo = false) |
回傳 Promise<Image>。圖片透過 FileReader.readAsDataURL 解碼;影片檔(isVideo: true)則載入離屏 <video>、跳轉至第一個解碼畫格,並用 <canvas> 擷取產生 JPEG 縮圖 |
HTMLVideoElement
原始碼:src/prototype/HTMLVideoElement.ts
| 方法 | 說明 |
|---|---|
video._config({ preload, loop, muted, controls, playsinline, download, remote }) |
鏈式一次性設定:一律先透過 controlsList 停用原生下載/遠端播放 UI,再套用每個傳入旗標(download: false/remote: false 會重新加回對應的 controlsList token) |