画像のクリッピングまたはスケーリング、ローカルまたは同じドメインのビデオのスクショ機能を持つ関数である。キャンバスに実装されている。
currentTime
に従って写真を撮る。English | 简体中文 |
https://capricorncd.github.io/image-process-tools/demo
import { handleMediaFile } from 'image-process'
const options = {
mimeType: 'image/jpeg',
width: 600,
height: 400,
quality: 0.8
}
// 画像をトリミングまたは動画のスクリーンショット
handleMediaFile(file, options)
.then(res => {
console.log(res)
})
.catch (err => {
console.error(err)
})
htmlで使用する
<script src="./dist/image-process.umd.js"></script>
<script>
imageProcess.handleMediaFile(file, options)
.then(res => console.log(res))
.catch (err => console.error(err))
</script>
# npm
npm install image-process
# npm i image-process
# yarn
yarn add image-process
# pnpm
pnpm install image-process
# pnpm i image-process
画像ファイルの圧縮またはトリミング関数。
パラメータ | 型 | 必須 | 説明 |
---|---|---|---|
file | File /Blob /string |
yes | 文字列の場合にはbase64データ限定。 |
options | ImageHandlerOptions |
no | ImageHandlerOptionsを参照してください。 |
Promise<ImageHandlerResult>
ImageHandlerResultを参照してください。画像処理または動画のスクリーンショット処理関数。
パラメータ | 型 | 必須 | 説明 |
---|---|---|---|
file | File |
yes | 画像またはビデオファイル。 |
options | MediaFileHandlerOptions |
no | MediaFileHandlerOptionsを参照してください。 |
Promise<MediaFileHandlerResult>
MediaFileHandlerResultを参照してください。動画ファイルのスクリーンショット処理関数。
パラメータ | 型 | 必須 | 説明 |
---|---|---|---|
file | File |
yes | ビデオ ファイル オブジェクト。 |
options | VideoHandlerOptions |
no | VideoHandlerOptionsを参照してください。 |
Promise<VideoHandlerResult>
VideoHandlerResultを参照してください。handleImageFile 関数のオプション。
プロップ | 型 | 必須 | 説明 |
---|---|---|---|
enableDevicePixelRatio | boolean |
no | デバイスのピクセル比を有効にするかどうか。2倍の場合、返される画像のサイズはx2 になる。デフォルトはfalse である。 |
mimeType | string |
no | mimeType、デフォルトは「image/jpeg」である。 |
isForce | boolean |
no | 画像の幅または高さが設定値よりも小さい場合、対象の画像の幅または高さを強制的に設定値に調整するか。デフォルトはfalse である。 |
perResize | number |
no | 画像をスケーリングするときにギザギザのエッジを防ぐため、数回でスケーリングする際、毎回スケーリングするピクセルである。デフォルトは500 である。 |
quality | number |
no | 処理後に返される画質。値の範囲は0-1 である。詳細については、toDataURL を参照してください。デフォルトは 0.9 である。 |
width | number |
no | 画像の「幅」を設定する。デフォルトは0 である。 |
height | number |
no | 画像の「高さ」を設定する。デフォルトは0 である。 |
longEdge | number |
no | 画像の長辺を設定する。デフォルトは0 である。 |
cropInfo | OptionsCropInfo |
no | OptionsCropInfoを参照してください。 |
handleImageFile 関数から返されるデータ。
プロップ | 型 | 必須 | 説明 |
---|---|---|---|
blob | Blob |
yes | 画像ブロブ データ。 |
data | string |
yes | 画像 base64 データ。 |
width | number |
yes | 画像の幅。 |
height | number |
yes | 画像の高さ。 |
type | string |
yes | 画像のタイプ。 |
size | SizeInfo |
yes | 画像のサイズ情報。 SizeInfo を参照してください。 |
url | string |
yes | 画像のブロブ URL。 |
element | HTMLImageElement /HTMLCanvasElement |
yes | HTMLImageElement またはHTMLCanvasElement . |
raw | MediaFileHandlerRawData |
yes | 元画像の情報。MediaFileHandlerRawData を参照してください。 |
handleMediaFile 関数のオプション。 VideoHandlerOptions を参照してください。
type MediaFileHandlerOptions = VideoHandlerOptions
処理中の画像ファイルの情報。
プロップ | 型 | 必須 | 説明 |
---|---|---|---|
blob | Blob |
yes | 画像ブロブ データ。 |
data | string |
yes | 画像 base64 データ。 |
width | number |
yes | 画像の幅。 |
height | number |
yes | 画像の高さ。 |
type | string |
yes | 画像のタイプ。 |
size | SizeInfo |
yes | 画像のサイズ情報。 SizeInfo を参照してください。 |
url | string |
yes | 画像のブロブ URL。 |
element | HTMLImageElement |
yes | HTMLImageElement |
handleMediaFile 関数から返されるデータ。
プロップ | 型 | 必須 | 説明 |
---|---|---|---|
blob | Blob |
yes | 画像ブロブ データ。 |
data | string |
yes | 画像 base64 データ。 |
width | number |
yes | 画像の幅。 |
height | number |
yes | 画像の高さ。 |
type | string |
yes | 画像のタイプ。 |
size | SizeInfo |
yes | 画像のサイズ情報。 SizeInfo を参照してください。 |
url | string |
yes | 画像のブロブ URL。 |
element | HTMLImageElement /HTMLCanvasElement |
yes | HTMLImageElement またはHTMLCanvasElement . |
raw | MediaFileHandlerRawData |
yes | 元画像の情報。MediaFileHandlerRawData を参照してください。 |
videoInfo | VideoInfo |
no | ビデオ ファイル情報。VideoInfo を参照してください。 |
プロップ | 型 | 必須 | 説明 |
---|---|---|---|
blob | Blob |
yes | 画像ブロブ データ。 |
data | string |
yes | 画像 base64 データ。 |
width | number |
yes | 画像の幅。 |
height | number |
yes | 画像の高さ。 |
type | string |
yes | 画像のタイプ。 |
size | SizeInfo |
yes | 画像のサイズ情報。 SizeInfo を参照してください。 |
url | string |
yes | 画像のブロブ URL。 |
https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage
値が無効な場合は無視される。
プロップ | 型 | 必須 | 説明 |
---|---|---|---|
sx | number |
yes | x座標。 |
sy | number |
yes | y座標。 |
sw | number |
yes | sx 座標からの x 軸に沿った長さ。 |
sh | number |
yes | sy 座標からの y 軸に沿った長さ。 |
ファイルサイズ情報。
プロップ | 型 | 必須 | 説明 |
---|---|---|---|
text | string |
yes | 文字列としてのファイルサイズ。例えば1.23MiB 。 |
unit | string |
yes | ファイルサイズの単位、例えばMiB 。 |
value | number |
yes | 単位なしの適切な数値としてのファイルのサイズ、例えば1.23 。 |
bytes | number |
yes | 画像のサイズ (バイト単位)。 |
handleVideoFile 関数のオプション。
プロップ | 型 | 必須 | 説明 |
---|---|---|---|
enableDevicePixelRatio | boolean |
no | デバイスのピクセル比を有効にするかどうか。2倍の場合、返される画像のサイズはx2 になる。デフォルトはfalse である。 |
mimeType | string |
no | mimeType、デフォルトは「image/jpeg」である。 |
isForce | boolean |
no | 画像の幅または高さが設定値よりも小さい場合、対象の画像の幅または高さを強制的に設定値に調整するか。デフォルトはfalse である。 |
perResize | number |
no | 画像をスケーリングするときにギザギザのエッジを防ぐため、数回でスケーリングする際、毎回スケーリングするピクセルである。デフォルトは500 である。 |
quality | number |
no | 処理後に返される画質。値の範囲は0-1 である。詳細については、toDataURL を参照してください。デフォルトは 0.9 である。 |
width | number |
no | 画像の「幅」を設定する。デフォルトは0 である。 |
height | number |
no | 画像の「高さ」を設定する。デフォルトは0 である。 |
longEdge | number |
no | 画像の長辺を設定する。デフォルトは0 である。 |
cropInfo | OptionsCropInfo |
no | OptionsCropInfoを参照してください。 |
currentTime | number |
no | ビデオのスクショを撮る時点。デフォルトは、動画の長さの「ランダムな」タイムスタンプである。 |
handleVideoFile 関数から返されるデータ。
プロップ | 型 | 必須 | 説明 |
---|---|---|---|
blob | Blob |
yes | 画像ブロブ データ。 |
data | string |
yes | 画像 base64 データ。 |
width | number |
yes | 画像の幅。 |
height | number |
yes | 画像の高さ。 |
type | string |
yes | 画像のタイプ。 |
size | SizeInfo |
yes | 画像のサイズ情報。 SizeInfo を参照してください。 |
url | string |
yes | 画像のブロブ URL。 |
element | HTMLImageElement /HTMLCanvasElement |
yes | HTMLImageElement またはHTMLCanvasElement . |
raw | MediaFileHandlerRawData |
yes | 元画像の情報。MediaFileHandlerRawData を参照してください。 |
videoInfo | VideoInfo |
yes | When taking a screenshot of the video, the original video file information. See VideoInfo. |
ビデオ ファイル情報。
プロップ | 型 | 必須 | 説明 |
---|---|---|---|
url | string |
yes | ビデオ ファイルの BLOB URL。 |
videoFile | File |
yes | ビデオ ファイル オブジェクト。 |
videoWidth | number |
yes | ビデオの幅。 |
videoHeight | number |
yes | ビデオの高さ。 |
duration | number |
yes | ビデオの長さ。 |
currentTime | number |
yes | ビデオのスクリーンショットの時点。 |
下記関数の仕様書は https://github.com/capricorncd/zx-sml を参照してください
import {
fileToBase64,
createElement,
formatBytes,
splitBase64,
createBlobURL,
base64ToBlob,
} from 'image-process'
Code and documentation copyright 2018-Present. Capricorncd. Code released under the MIT License.