Download the PHP package aklump/aspect-ratio without Composer

On this page you can find all versions of the php package aklump/aspect-ratio. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package aspect-ratio

Aspect Ratio

A project to work with aspect ratios. While the aspect ratio is a simple calculation, the nearest "nice" aspect ratio is not, and that's where this project stands out. You may enter any dimension set and the actual aspect ratio will be calculated in both whole numbers and decimal, in addition you will obtain the closest "nice" aspect ratios, e.g. 16:9, 3:4, etc. As a bonus, the golden ratio is also calculated against the width.

Here is an example of the output of the CLI.

$ aspratio 768x634
Type         Ratio    Dimensions    Variance    Variance %
whole      384:317     768 x 634           0            0%
decimal      1.211     768 x 634           0            0%
nearby         6:5     768 x 640           6          0.9%
nearby        11:9     768 x 628          -6         -0.9%
nearby         5:4     768 x 614         -20         -3.2%
nearby         7:6     768 x 658          24          3.8%
nearby         9:7     768 x 597         -37         -5.8%
nearby         8:7     768 x 672          38            6%
nearby         9:8     768 x 683          49          7.7%
nearby        10:9     768 x 691          57            9%
nearby         4:3     768 x 576         -58         -9.1%
nearby       11:10     768 x 698          64         10.1%
golden       1.618     768 x 475        -159        -25.1%

Install Globally Using Composer

To be able to use aspratio from any directory in your CLI you may want to install this globally.

composer global require aklump/aspect-ratio

Make sure you have the composer bin dir in your PATH. The default value is ~/.composer/vendor/bin, but you can check the value that you need to use by running composer global config bin-dir --absolute.

To check this you must open _~/.bashprofile (or ~/.bashrc); you're looking for a line that looks like the following, if you can't find, you'll need to add it.

export PATH=~/.composer/vendor/bin:$PATH

Quick Start

  1. To determine the aspect ratio, nearby aspect ratios, and golden ratio of a dimension set type the following in your terminal; the variance shows you the extent to which the height varies for a nearby ratio:

    $ aspratio 960x555
    Type       Ratio    Dimensions    Variance    Variance %
    whole      64:37     960 x 555           0            0%
    decimal     1.73     960 x 555           0            0%
    nearby      12:7     960 x 560           5          0.9%
    nearby       7:4     960 x 549          -6         -1.1%
    nearby       5:3     960 x 576          21          3.8%
    nearby       9:5     960 x 533         -22           -4%
    nearby      11:6     960 x 524         -31         -5.6%
    nearby      13:8     960 x 591          36          6.5%
    golden     1.618     960 x 593          38          6.8%
    nearby      13:7     960 x 517         -38         -6.8%
    nearby       8:5     960 x 600          45          8.1%
    nearby      11:7     960 x 611          56         10.1%
    nearby      14:9     960 x 617          62         11.2%
  2. Use the --precision to control the rounding precision of the decimal version.

    $ aspratio 960x555 --precision=6
    Type          Ratio    Dimensions    Variance    Variance %
    ...
    decimal     1.72973     960 x 555           0            0%
    ...
    golden     1.618034     960 x 593          38          6.8%
    ...
  3. Use --json to return the output in JSON.

    $ aspratio 960x555 --json
    [{"type":"original","ratio_x":960,"ratio_y":555,"width":960,"height":555,"difference_y":0,"difference_y_percent":"0%"},{"type":"whole","ratio_x":64,"ratio_y":37,"width":960,"height":555,"difference_y":0,"difference_y_percent":"0%"},{"type":"decimal","ratio_x":1.729999999999999982236431605997495353221893310546875,"ratio_y":1,"width":960,"height":554.9132947976878540430334396660327911376953125,"difference_y":0,"difference_y_percent":"0%"},{"type":"nearby","ratio_x":12,"ratio_y":7,"width":960,"height":560,"difference_y":5,"difference_y_percent":"0.900900900901%"},{"type":"nearby","ratio_x":7,"ratio_y":4,"width":960,"height":548.5714285714285551875946111977100372314453125,"difference_y":-6,"difference_y_percent":"-1.08108108108%"},{"type":"nearby","ratio_x":5,"ratio_y":3,"width":960,"height":576,"difference_y":21,"difference_y_percent":"3.78378378378%"},{"type":"nearby","ratio_x":9,"ratio_y":5,"width":960,"height":533.3333333333333712289459072053432464599609375,"difference_y":-22,"difference_y_percent":"-3.96396396396%"},{"type":"nearby","ratio_x":11,"ratio_y":6,"width":960,"height":523.6363636363636260284692980349063873291015625,"difference_y":-31,"difference_y_percent":"-5.58558558559%"},{"type":"nearby","ratio_x":13,"ratio_y":8,"width":960,"height":590.7692307692308304467587731778621673583984375,"difference_y":36,"difference_y_percent":"6.48648648649%"},{"type":"golden","ratio_x":1.6180000000000001048050535246147774159908294677734375,"ratio_y":1,"width":960,"height":593.3250927070456555156852118670940399169921875,"difference_y":38,"difference_y_percent":"6.84684684685%"},{"type":"nearby","ratio_x":13,"ratio_y":7,"width":960,"height":516.923076923076905586640350520610809326171875,"difference_y":-38,"difference_y_percent":"-6.84684684685%"},{"type":"nearby","ratio_x":8,"ratio_y":5,"width":960,"height":600,"difference_y":45,"difference_y_percent":"8.10810810811%"},{"type":"nearby","ratio_x":11,"ratio_y":7,"width":960,"height":610.9090909090908780854078941047191619873046875,"difference_y":56,"difference_y_percent":"10.0900900901%"},{"type":"nearby","ratio_x":14,"ratio_y":9,"width":960,"height":617.1428571428572240620269440114498138427734375,"difference_y":62,"difference_y_percent":"11.1711711712%"}]
  4. See Usage for more examples.

Contributing

If you find this project useful... please consider making a donation.

Usage

Determine height based on aspect ratio and width

  1. Determine the height by entering aspect ratio and width.
  2. Use the dimensions listed as original

    $ aspratio 16:9 --width=1080
    Type       Ratio    Dimensions    Variance    Variance %
    whole       16:9    1080 x 608           0            0%
    decimal    1.778    1080 x 607           0            0%
    nearby      16:9    1080 x 608           0            0%
    nearby     17:10    1080 x 635          28          4.6%
    nearby      15:8    1080 x 576         -32         -5.3%
    nearby      17:9    1080 x 572         -36         -5.9%
    nearby       5:3    1080 x 648          41          6.7%
    golden     1.618    1080 x 667          60          9.9%
    nearby       2:1    1080 x 540         -68        -11.2%
    nearby       8:5    1080 x 675          68         11.2%
    nearby      17:8    1080 x 508         -99        -16.3%
    nearby       3:2    1080 x 720         113         18.6%

Scale dimensions maintaining aspect ratio

  1. To get new dimensions enter existing dimensions and the new width.

    $ aspratio 1080x520 --width=320
    Type       Ratio    Dimensions    Variance    Variance %
    whole      81:39     320 x 154           0            0%
    decimal    2.077     320 x 154           0            0%
    nearby      17:8     320 x 151          -3         -1.9%
    nearby      15:7     320 x 149          -5         -3.2%
    nearby       2:1     320 x 160           6          3.9%
    nearby      13:6     320 x 148          -6         -3.9%
    nearby      11:5     320 x 145          -9         -5.8%
    nearby       9:4     320 x 142         -12         -7.8%
    nearby      16:7     320 x 140         -14         -9.1%
    nearby      17:9     320 x 169          15          9.7%
    nearby       7:3     320 x 137         -17          -11%
    nearby      15:8     320 x 171          17           11%
    golden     1.618     320 x 198          44         28.6%

Inversion

  1. To invert the width, height use the -i flag. This is like going from landscape to portrait.

    $ aspratio 768x512
    Type       Ratio    Dimensions    Variance    Variance %
    whole        3:2     768 x 512           0            0%
    decimal      1.5     768 x 512           0            0%
    nearby       3:2     768 x 512           0            0%
    nearby      13:9     768 x 532          20          3.9%
    nearby      11:7     768 x 489         -23         -4.5%
    nearby      10:7     768 x 538          26          5.1%
    nearby       8:5     768 x 480         -32         -6.3%
    golden     1.618     768 x 475         -37         -7.2%
    nearby       7:5     768 x 549          37          7.2%
    nearby      13:8     768 x 473         -39         -7.6%
    nearby      11:8     768 x 559          47          9.2%
    nearby       5:3     768 x 461         -51          -10%
    nearby       4:3     768 x 576          64         12.5%
    
    $ aspratio 768x512 -i
    Type       Ratio    Dimensions    Variance    Variance %
    whole        2:3     512 x 768           0            0%
    decimal    0.667     512 x 768           0            0%
    nearby       2:3     512 x 768           0            0%
    nearby      9:14     512 x 796          28          3.6%
    nearby      7:10     512 x 731         -37         -4.8%
    nearby      7:11     512 x 805          37          4.8%
    nearby       5:7     512 x 717         -51         -6.6%
    nearby       5:8     512 x 819          51          6.6%
    nearby      8:13     512 x 832          64          8.3%
    nearby      8:11     512 x 704         -64         -8.3%
    nearby       3:4     512 x 683         -85        -11.1%
    nearby       3:5     512 x 853          85         11.1%
    golden     1.618     512 x 316        -452        -58.9%

Fine Tuning

  1. Use --nearby and --variance to fine tune the nearby calculations:
  2. --nearby returns how many nearby values are returned from the result set sorted by the width portion of the ratio, low to high. Setting this lower will reduce the number of more accurate nearby ratios, which have a higher numerator.
  3. --variance sets the maximum variance allowed. This may be a percentage or a number. This first example shows the maximum entered as a percentage. Because this is lower than the default, the ratio values are more accurate, but the ratios are not as nice, that is to say the numbers are higher. Compare that to the default variance where the ratios are "nicer".

    $ aspratio 370x111 --variance=2%
    Type       Ratio    Dimensions    Variance    Variance %
    whole       10:3     370 x 111           0            0%
    decimal    3.333     370 x 111           0            0%
    nearby      10:3     370 x 111           0            0%
    nearby      27:8     370 x 110          -1         -0.9%
    nearby     33:10     370 x 112           1          0.9%
    nearby     37:11     370 x 110          -1         -0.9%
    nearby     43:13     370 x 112           1          0.9%
    nearby     47:14     370 x 110          -1         -0.9%
    nearby      17:5     370 x 109          -2         -1.8%
    nearby      23:7     370 x 113           2          1.8%
    nearby     36:11     370 x 113           2          1.8%
    nearby     44:13     370 x 109          -2         -1.8%
    golden     1.618     370 x 229         118        106.3%
    
    $ aspratio 370x111 --variance=80%
    Type       Ratio    Dimensions    Variance    Variance %
    whole       10:3     370 x 111           0            0%
    decimal    3.333     370 x 111           0            0%
    nearby      10:3     370 x 111           0            0%
    nearby      17:5     370 x 109          -2         -1.8%
    nearby      13:4     370 x 114           3          2.7%
    nearby       7:2     370 x 106          -5         -4.5%
    nearby      16:5     370 x 116           5          4.5%
    nearby      19:6     370 x 117           6          5.4%
    nearby      18:5     370 x 103          -8         -7.2%
    nearby      11:3     370 x 101         -10           -9%
    nearby       3:1     370 x 123          12         10.8%
    nearby      15:4      370 x 99         -12        -10.8%
    golden     1.618     370 x 229         118        106.3%

All versions of aspect-ratio with dependencies

PHP Build Version
Package Version
Requires aklump/loft-lib Version ^1.0.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package aklump/aspect-ratio contains the following files

Loading the files please wait ....