1 Star 0 Fork 1

笑笑雪花/lisgo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
bmpgray.go 1.07 KB
一键复制 编辑 原始数据 按行查看 历史
package lisgo
import (
"github.com/apex/log"
"image"
"image/color"
)
type ImageBmpGray struct {
data []byte
header *BmpHeader
scanLine int
}
func NewBmpGrayImage(data []byte, header *BmpHeader) *ImageBmpGray {
//it seems that we may ignore palette
img := ImageBmpGray{
data: data,
header: header,
scanLine: int(pad4(header.Width)),
}
log.WithField("scanLine", img.scanLine).Debug("creating ImgBmpGray")
return &img
}
// ColorModel returns the Image's color model.
func (i *ImageBmpGray) ColorModel() color.Model {
return color.GrayModel
}
// Bounds returns the domain for which At can return non-zero color.
// The bounds do not necessarily contain the point (0, 0).
func (i *ImageBmpGray) Bounds() image.Rectangle {
return image.Rect(0, 0, int(i.header.Width), int(abs(i.header.Height)))
}
// At returns the color of the pixel at (x, y).
func (i *ImageBmpGray) At(x, y int) color.Color {
//x = int(i.header.Width) - x - 1
if i.header.Height > 0 {
y = int(abs(i.header.Height)) - y - 1
}
offset := i.scanLine*y + x
return color.Gray{Y: i.data[offset]}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xjj/lisgo.git
git@gitee.com:xjj/lisgo.git
xjj
lisgo
lisgo
master

搜索帮助