Comments (3)
I may need a worked example to understand what you're trying to achieve. Are you looking for a hybrid approach where the image is partially resized then any remainder cropped? Could your idea relate to not maintaining aspect ratio?
Width and height are currently both optional. After resizing, if the width and height already exactly match the required dimensions then the crop/embed step is skipped.
from sharp.
It maintains aspect ratio but the arguments passed to resize are a "max", not a perfect match.
For example, a 4000x3000px image resized with (200, 200) will be 200x150px
from sharp.
Got it, thanks. What you suggest is (I think) the default behaviour of GraphicsMagick's geometry option.
It would be hard to provide a less intuitive API for this than GM's punctuating ^!@...
Anyway, this max()
option would be another canvas setting, mutually exclusive of the existing crop()
and embed*()
methods/settings/options. Internally options.canvas
is represented as a single character String to make the transition from JavaScript to C++ as simple as possible.
from sharp.
Related Issues (20)
- Images arent closed after transforms HOT 1
- Issue setting a color of an element in an SVG HOT 5
- Cannot use custom fonts "Fontconfig error: Cannot load default config file: No such file: (null)" HOT 1
- Remove white pixels to have a transparent background HOT 2
- rotate().extract() resulting in bad extract area for iOS images rotated by metadata HOT 2
- Question: Why does the result of image.raw().extractChannel('red').toBuffer.length != image.width * image.height? HOT 3
- How to change OwnerName by withExifMerge? HOT 3
- Cross-compilation broken on [email protected] and 10.5.0 HOT 7
- Problems creating sharp Lambda layer package with custom libvips HOT 6
- What is the recommended hardware to run highly available production setup HOT 3
- Sharp keeps input file locked HOT 1
- .trim() removes 1 too many pixels HOT 5
- .trim().toBuffer() does not produce info response Object offset properties HOT 2
- Include trimOffsetRight & trimOffsetBottom HOT 1
- Add settings for symmetric .trim() HOT 1
- Enhancement: ensure metadata.background is compatible with color package for single-channel images HOT 3
- Animated Gif from raw buffer HOT 1
- Animated gif from raw buffer? HOT 2
- When loading a picture using a file path, the size of the picture exceeds a certain size, and then deleting the picture will cause a problem of prohibiting deletion. HOT 2
- Using node js sharp package composite function is not giving an animated result HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sharp.