mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 12:27:06 +00:00 
			
		
		
		
	Added all required dependencies
This commit is contained in:
		
							
								
								
									
										55
									
								
								vendor/github.com/nfnt/resize/thumbnail.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								vendor/github.com/nfnt/resize/thumbnail.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,55 @@ | ||||
| /* | ||||
| Copyright (c) 2012, Jan Schlicht <jan.schlicht@gmail.com> | ||||
|  | ||||
| Permission to use, copy, modify, and/or distribute this software for any purpose | ||||
| with or without fee is hereby granted, provided that the above copyright notice | ||||
| and this permission notice appear in all copies. | ||||
|  | ||||
| THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH | ||||
| REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||||
| FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, | ||||
| INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS | ||||
| OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER | ||||
| TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF | ||||
| THIS SOFTWARE. | ||||
| */ | ||||
|  | ||||
| package resize | ||||
|  | ||||
| import ( | ||||
| 	"image" | ||||
| ) | ||||
|  | ||||
| // Thumbnail will downscale provided image to max width and height preserving | ||||
| // original aspect ratio and using the interpolation function interp. | ||||
| // It will return original image, without processing it, if original sizes | ||||
| // are already smaller than provided constraints. | ||||
| func Thumbnail(maxWidth, maxHeight uint, img image.Image, interp InterpolationFunction) image.Image { | ||||
| 	origBounds := img.Bounds() | ||||
| 	origWidth := uint(origBounds.Dx()) | ||||
| 	origHeight := uint(origBounds.Dy()) | ||||
| 	newWidth, newHeight := origWidth, origHeight | ||||
|  | ||||
| 	// Return original image if it have same or smaller size as constraints | ||||
| 	if maxWidth >= origWidth && maxHeight >= origHeight { | ||||
| 		return img | ||||
| 	} | ||||
|  | ||||
| 	// Preserve aspect ratio | ||||
| 	if origWidth > maxWidth { | ||||
| 		newHeight = uint(origHeight * maxWidth / origWidth) | ||||
| 		if newHeight < 1 { | ||||
| 			newHeight = 1 | ||||
| 		} | ||||
| 		newWidth = maxWidth | ||||
| 	} | ||||
|  | ||||
| 	if newHeight > maxHeight { | ||||
| 		newWidth = uint(newWidth * maxHeight / newHeight) | ||||
| 		if newWidth < 1 { | ||||
| 			newWidth = 1 | ||||
| 		} | ||||
| 		newHeight = maxHeight | ||||
| 	} | ||||
| 	return Resize(newWidth, newHeight, img, interp) | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Thomas Boerger
					Thomas Boerger