Code to check if an image is Opaque

This commit is contained in:
Kovid Goyal 2023-01-02 17:13:56 +05:30
parent 36d82267bb
commit 6291d0d400
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -0,0 +1,40 @@
// License: GPLv3 Copyright: 2023, Kovid Goyal, <kovid at kovidgoyal.net>
package images
import (
"fmt"
"image"
)
var _ = fmt.Print
func IsOpaque(img image.Image) bool {
switch img.(type) {
case *image.RGBA:
return img.(*image.RGBA).Opaque()
case *image.RGBA64:
return img.(*image.RGBA64).Opaque()
case *image.NRGBA:
return img.(*image.NRGBA).Opaque()
case *image.NRGBA64:
return img.(*image.NRGBA).Opaque()
case *image.Alpha:
return img.(*image.Alpha).Opaque()
case *image.Alpha16:
return img.(*image.Alpha16).Opaque()
case *image.Gray:
return img.(*image.Gray).Opaque()
case *image.Gray16:
return img.(*image.Gray16).Opaque()
case *image.CMYK:
return img.(*image.CMYK).Opaque()
case *image.Paletted:
return img.(*image.Paletted).Opaque()
case *image.Uniform:
return img.(*image.Uniform).Opaque()
case *NRGB:
return img.(*NRGB).Opaque()
}
return false
}