The data come from this Wikipedia page: en.wikipedia.org/wiki/List_of_common_resolutions
Example
; /* some script playing with a video object */ const compatibleAspects = resolutions;/* for 4096×2160, it returns: */ Format code: 'DCI_2K' name: 'DCI 2K' fullName: 'DCI 2K (DCI 2K)' alternativeNames: width: 2048 height: 1080 aspects: storage: Aspect string: '256:135' float: 18962962962962964 display: Aspect string: '1.90:1' float: 19 pixel: Aspect string: '1.002' float: 1002
Installation
$ npm install -D video-resolutions
Usage
This package export this list of classes and functions:
Aspect
- A class representing an aspect-ratioFormat
- A class representing an image formatgetList
- Get the list of the 184 formatsgetAll
- Get a list of formats matching a query object (eg. a width)getOne
- Returns the best result ofgetAll
or create itgetMatchingAspect
- Get a list of formats matching another format aspect ratiosearch
- Search a list of formats matching a query stringsearchOne
- Returns the best result ofsearch
ornull
Notice: All the getters and searchers results are always a copy of database items so you can edit them without damaging database data.
Format
Each format code
is either an unique string or null
.
Each format resolution
unique.
The Format
class has a getter resolution
returning a string of the width
and height merged around a "×" symbol, and a getter pixelCount
returning the
multiplication of the number of pixels of width and height.
aspect
is always a shorthand for aspects.storage
, either as a getter of
the Format
class or in a query object.
You can use the methods setWidth(width)
and setHeight(height)
to edit a
format width or height. The respectives height or width will be adapted to this
change to match the aspect-ratio. By changing width or height, the format will
lose its code
, name
, fullName
, and alternativeNames
.
getList()
; resolutions;/* returns: */ format: Format code: null name: null fullName: null alternativeNames: 'Microvision' width: 16 height: 16 aspects: storage: Aspect string: '1:1' float: 1 display: Aspect string: '1:1' float: 1 pixel: Aspect string: '1:1' float: 1 score: 20509185851025467 /* 183 other items */
getAll(query)
resolutions;/* returns: */ Format code: null name: null fullName: null alternativeNames: 'HDV 1080i' width: 1440 height: 1080 /* etc */ /* etc */
getOne(query, opts)
resolutions;/* returns: */Format code: 'DCI_4K' name: 'DCI 4K' fullName: 'DCI 4K (DCI 4K)' alternativeNames: width: 4096 height: 2160 aspects: storage: Aspect string: '256:135' float: 18962962962962964 display: Aspect string: '1.90:1' float: 19 pixel: Aspect string: '1.002' float: 1002
If no format matches the query, getOne
will by default return a new Format
created from query's data. By settings the opts
to { create: false }
, the
function will instead return a null Object.
getMatchingAspect(format, aspect = 'storage')
resolutions;/* returns: */ Format code: 'DCI_2K' name: 'DCI 2K' fullName: 'DCI 2K (DCI 2K)' alternativeNames: width: 2048 height: 1080 aspects: storage: Aspect string: '256:135' float: 18962962962962964 display: Aspect string: '1.90:1' float: 19 pixel: Aspect string: '1.002' float: 1002
If no format matches the query, getOne
will by default return a new Format
created from query's data. By settings the opts
to { create: false }
, the
function will instead return a null Object.
search(query)
resolutions;/* returns: */ format: Format code: 'DCI_4K' name: 'DCI 4K' fullName: 'DCI 4K (DCI 4K)' alternativeNames: width: 4096 height: 2160 aspects: storage: Aspect string: '256:135' float: 18962962962962964 display: Aspect string: '1.90:1' float: 19 pixel: Aspect string: '1.002' float: 1002 score: 20509185851025467 format: Format code: '4K_UHD_1' name: '4K Ultra HD 1' fullName: '4K Ultra HD 1 (4K UHD-1)' alternativeNames: '2160p' '4000-lines UHDTV (4K UHD)' width: 3840 height: 2160 aspects: storage: Aspect string: '16:9' float: 17777777777777777 display: Aspect string: '16:9' float: 17777777777777777 pixel: Aspect string: '1:1' float: 1 score: 17092425489432678 format: Format code: 'UW4K' name: 'Ultra-Wide 4K' fullName: 'Ultra-Wide 4K (UW4K)' alternativeNames: width: 3840 height: 1600 aspects: storage: Aspect string: '2.35:1' float: 235 display: Aspect string: '2.35:1' float: 235 pixel: Aspect string: '0.996' float: 0996 score: 1599784821394083
searchOne(query)
This function will return the best result from searchAll
or null
.
Related
elasticlunr - Package powering the format search engine
License
This project is licensed under the MIT license.