Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Imagemagick | 9,292 | 16 | 2 days ago | 2 | May 09, 2018 | 145 | other | C | ||
🧙♂️ ImageMagick 7 | ||||||||||
Gm | 6,807 | 8,150 | 1,370 | a month ago | 64 | September 21, 2022 | 358 | JavaScript | ||
GraphicsMagick for node | ||||||||||
Expose | 4,259 | a year ago | 23 | mit | Perl | |||||
A simple static site generator for photoessays | ||||||||||
Magick.net | 2,819 | 107 | 75 | 4 days ago | 173 | August 21, 2022 | 31 | apache-2.0 | C# | |
The .NET library for ImageMagick | ||||||||||
Lsix | 2,769 | 9 months ago | 1 | May 12, 2021 | 24 | gpl-3.0 | Shell | |||
Like "ls", but for images. Shows thumbnails in terminal using sixel graphics. | ||||||||||
Minimagick | 2,750 | 26,585 | 569 | 6 months ago | 70 | November 06, 2020 | 16 | mit | Ruby | |
mini replacement for RMagick | ||||||||||
Odiff | 1,622 | 3 months ago | 15 | December 18, 2021 | 18 | mit | Reason | |||
The fastest pixel-by-pixel image visual difference tool in the world. | ||||||||||
Govips | 907 | 5 | 4 days ago | 46 | March 29, 2022 | 31 | mit | Go | ||
A lightning fast image processing and resizing library for Go | ||||||||||
Flyimg | 823 | a month ago | 77 | June 22, 2022 | 33 | mit | PHP | |||
Dockerized PHP application to resize and crop images on the fly. Get optimised images with MozJPEG, WebP or PNG using ImageMagick, with an efficient caching system. | ||||||||||
Quick Media | 791 | 4 days ago | 8 | July 13, 2022 | 21 | Java | ||||
media(audio/image/qrcode/markdown/html/svg/png) support (多媒体编辑服务, 酷炫二维码, 音频, 图片, svg, markdown, html渲染服务支持) |
Documentation for [email protected]
can be found here.
Flexible and efficient image resize, rename, and upload to Amazon S3 disk storage. Uses the official AWS Node SDK, and im-resize and im-metadata for image processing.
All changes are documentated on the releases page. Changes for latest release can be found here.
npm install s3-uploader --save
var Upload = require('s3-uploader');
awsBucketName
, object opts
)awsBucketName
- name of Amazon S3 bucketopts
- global upload options
object cleanup
original
- remove original image after successful upload (default: false
)versions
- remove thumbnail versions after sucessful upload (default: false
)boolean returnExif
- return exif data for original image (default false
)
string url
- custom public url (default build from region
and awsBucketName
)
object aws
- see note
region
- region for you bucket (default us-east-1
)path
- path within your bucket (default ""
)acl
- default ACL for uploaded images (default private
)accessKeyId
- AWS access key ID overridesecretAccessKey
- AWS secret access key overrideobject resize
path
- local directory for resized images (default: same as original image)prefix
- local file name prefix for resized images (default: ""
)quality
- default quality for resized images (default: 70
)object[] versions
suffix
- image file name suffix (default ""
)quality
- image resize qualityformat
- force output image file format (default format of original image
)maxWidth
- max width for resized imagemaxHeight
- max height for resized imageaspect
- force aspect ratio for resized image (example: 4:3
background
- set background for transparent images (example: red
)flatten
- flatten backgrund for transparent imagesawsImageAcl
- access control for AWS S3 upload (example: private
)awsImageExpires
- add Expires
header to image versionawsImageMaxAge
- add Cache-Control: max-age
header to image versionobject original
awsImageAcl
- access control for AWS S3 upload (example: private
)awsImageExpires
- add Expires
header to image versionawsImageMaxAge
- add Cache-Control: max-age
header to image versionfunction randomPath
- custom random path function
The
aws
object is passed directly toaws-sdk
. You can add any of these options in order to fine tune the connection – if you know what you are doing.
var client = new Upload('my_s3_bucket', {
aws: {
path: 'images/',
region: 'us-east-1',
acl: 'public-read'
},
cleanup: {
versions: true,
original: false
},
original: {
awsImageAcl: 'private'
},
versions: [{
maxHeight: 1040,
maxWidth: 1040,
format: 'jpg',
suffix: '-large',
quality: 80,
awsImageExpires: 31536000,
awsImageMaxAge: 31536000
},{
maxWidth: 780,
aspect: '3:2!h',
suffix: '-medium'
},{
maxWidth: 320,
aspect: '16:9!h',
suffix: '-small'
},{
maxHeight: 100,
aspect: '1:1',
format: 'png',
suffix: '-thumb1'
},{
maxHeight: 250,
maxWidth: 250,
aspect: '1:1',
suffix: '-thumb2'
}]
});
src
, object opts
, function cb
)string src
- path to the image you want to upload
object opts
awsPath
- override the path on AWS set through opts.aws.path
path
- set absolute path for uploaded image (disables random path)function cb
- callback function (Error err
, object[] versions
, object meta
)
err
- null
if everything went fineversions
- original and resized images with path/locationmeta
- metadata for original imageclient.upload('/some/image.jpg', {}, function(err, versions, meta) {
if (err) { throw err; }
versions.forEach(function(image) {
console.log(image.width, image.height, image.url);
// 1024 760 https://my-bucket.s3.amazonaws.com/path/110ec58a-a0f2-4ac4-8393-c866d813b8d1.jpg
});
});
A
+-- B
`-- C
`-- D
`-- E
Where A is the original image uploaded by the user. An mpc image is created, B,
which is used to crate the thumbnails C, D, and E.
Individuals making significant and valuable contributions are made Collaborators and given commit-access to the project. These individuals are identified by the existing Collaborators and their addition as Collaborators is discussed as a pull request to this project's README.md.
Note: If you make a significant contribution and are not considered for commit-access log an issue or contact one of the Collaborators directly.