mirror of https://github.com/talgo-cloud/bimg.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
827 B
54 lines
827 B
package bimg
|
|
|
|
type ImageType int
|
|
|
|
const (
|
|
UNKNOWN ImageType = iota
|
|
JPEG
|
|
WEBP
|
|
PNG
|
|
TIFF
|
|
MAGICK
|
|
)
|
|
|
|
func DetermineImageType(buf []byte) ImageType {
|
|
return vipsImageType(buf)
|
|
}
|
|
|
|
func DetermineImageTypeName(buf []byte) string {
|
|
return getImageTypeName(vipsImageType(buf))
|
|
}
|
|
|
|
func getImageTypeName(code ImageType) string {
|
|
imageType := "unknown"
|
|
|
|
switch {
|
|
case code == JPEG:
|
|
imageType = "jpeg"
|
|
break
|
|
case code == WEBP:
|
|
imageType = "webp"
|
|
break
|
|
case code == PNG:
|
|
imageType = "png"
|
|
break
|
|
case code == TIFF:
|
|
imageType = "tiff"
|
|
break
|
|
case code == MAGICK:
|
|
imageType = "magick"
|
|
break
|
|
}
|
|
|
|
return imageType
|
|
}
|
|
|
|
func IsTypeSupported(t ImageType) bool {
|
|
return t == JPEG || t == PNG || t == WEBP
|
|
}
|
|
|
|
func IsTypeNameSupported(t string) bool {
|
|
return t == "jpeg" || t == "jpg" ||
|
|
t == "png" || t == "webp"
|
|
}
|