mirror of
https://github.com/go-gitea/gitea
synced 2025-08-24 18:38:28 +00:00
Improve handling of non-square avatars (#7025)
* Crop avatar before resizing (#1268) Signed-off-by: Rob Watson <rfwatson@users.noreply.github.com> * Fix spelling error Signed-off-by: Rob Watson <rfwatson@users.noreply.github.com>
This commit is contained in:
107
vendor/github.com/oliamb/cutter/README.md
generated
vendored
Normal file
107
vendor/github.com/oliamb/cutter/README.md
generated
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
Cutter
|
||||
======
|
||||
|
||||
A Go library to crop images.
|
||||
|
||||
[](https://travis-ci.org/oliamb/cutter)
|
||||
[](https://godoc.org/github.com/oliamb/cutter)
|
||||
|
||||
Cutter was initially developped to be able
|
||||
to crop image resized using github.com/nfnt/resize.
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
Read the doc on https://godoc.org/github.com/oliamb/cutter
|
||||
|
||||
Import package with
|
||||
|
||||
```go
|
||||
import "github.com/oliamb/cutter"
|
||||
```
|
||||
|
||||
Package cutter provides a function to crop image.
|
||||
|
||||
By default, the original image will be cropped at the
|
||||
given size from the top left corner.
|
||||
|
||||
```go
|
||||
croppedImg, err := cutter.Crop(img, cutter.Config{
|
||||
Width: 250,
|
||||
Height: 500,
|
||||
})
|
||||
```
|
||||
|
||||
Most of the time, the cropped image will share some memory
|
||||
with the original, so it should be used read only. You must
|
||||
ask explicitely for a copy if nedded.
|
||||
|
||||
```go
|
||||
croppedImg, err := cutter.Crop(img, cutter.Config{
|
||||
Width: 250,
|
||||
Height: 500,
|
||||
Options: cutter.Copy,
|
||||
})
|
||||
```
|
||||
|
||||
It is possible to specify the top left position:
|
||||
|
||||
```go
|
||||
croppedImg, err := cutter.Crop(img, cutter.Config{
|
||||
Width: 250,
|
||||
Height: 500,
|
||||
Anchor: image.Point{100, 100},
|
||||
Mode: cutter.TopLeft, // optional, default value
|
||||
})
|
||||
```
|
||||
|
||||
The Anchor property can represents the center of the cropped image
|
||||
instead of the top left corner:
|
||||
|
||||
```go
|
||||
croppedImg, err := cutter.Crop(img, cutter.Config{
|
||||
Width: 250,
|
||||
Height: 500,
|
||||
Mode: cutter.Centered,
|
||||
})
|
||||
```
|
||||
|
||||
The default crop use the specified dimension, but it is possible
|
||||
to use Width and Heigth as a ratio instead. In this case,
|
||||
the resulting image will be as big as possible to fit the asked ratio
|
||||
from the anchor position.
|
||||
|
||||
```go
|
||||
croppedImg, err := cutter.Crop(baseImage, cutter.Config{
|
||||
Width: 4,
|
||||
Height: 3,
|
||||
Mode: cutter.Centered,
|
||||
Options: cutter.Ratio&cutter.Copy, // Copy is useless here
|
||||
})
|
||||
```
|
||||
|
||||
About resize
|
||||
------------
|
||||
This lib only manage crop and won't resize image, but it works great in combination with [github.com/nfnt/resize](https://github.com/nfnt/resize)
|
||||
|
||||
Contributing
|
||||
------------
|
||||
I'd love to see your contributions to Cutter. If you'd like to hack on it:
|
||||
|
||||
- fork the project,
|
||||
- hack on it,
|
||||
- ensure tests pass,
|
||||
- make a pull request
|
||||
|
||||
If you plan to modify the API, let's disscuss it first.
|
||||
|
||||
Licensing
|
||||
---------
|
||||
MIT License, Please see the file called LICENSE.
|
||||
|
||||
Credits
|
||||
-------
|
||||
Test Picture: Gopher picture from Heidi Schuyt, http://www.flickr.com/photos/hschuyt/7674222278/,
|
||||
© copyright Creative Commons(http://creativecommons.org/licenses/by-nc-sa/2.0/)
|
||||
|
||||
Thanks to Urturn(http://www.urturn.com) for the time allocated to develop the library.
|
Reference in New Issue
Block a user