mirror of
https://github.com/golang/go
synced 2024-11-15 02:10:21 -07:00
image/gif: use internal/byteorder
This commit is contained in:
parent
74a49188d3
commit
1ad3a5d0ed
@ -13,6 +13,7 @@ import (
|
||||
"image/color"
|
||||
"image/color/palette"
|
||||
"image/draw"
|
||||
"internal/byteorder"
|
||||
"io"
|
||||
)
|
||||
|
||||
@ -33,12 +34,6 @@ func log2(x int) int {
|
||||
return -1
|
||||
}
|
||||
|
||||
// Little-endian.
|
||||
func writeUint16(b []uint8, u uint16) {
|
||||
b[0] = uint8(u)
|
||||
b[1] = uint8(u >> 8)
|
||||
}
|
||||
|
||||
// writer is a buffered writer.
|
||||
type writer interface {
|
||||
Flush() error
|
||||
@ -151,8 +146,8 @@ func (e *encoder) writeHeader() {
|
||||
}
|
||||
|
||||
// Logical screen width and height.
|
||||
writeUint16(e.buf[0:2], uint16(e.g.Config.Width))
|
||||
writeUint16(e.buf[2:4], uint16(e.g.Config.Height))
|
||||
byteorder.LePutUint16(e.buf[0:2], uint16(e.g.Config.Width))
|
||||
byteorder.LePutUint16(e.buf[2:4], uint16(e.g.Config.Height))
|
||||
e.write(e.buf[:4])
|
||||
|
||||
if p, ok := e.g.Config.ColorModel.(color.Palette); ok && len(p) > 0 {
|
||||
@ -190,7 +185,7 @@ func (e *encoder) writeHeader() {
|
||||
}
|
||||
e.buf[0] = 0x03 // Block Size.
|
||||
e.buf[1] = 0x01 // Sub-block Index.
|
||||
writeUint16(e.buf[2:4], uint16(e.g.LoopCount))
|
||||
byteorder.LePutUint16(e.buf[2:4], uint16(e.g.LoopCount))
|
||||
e.buf[4] = 0x00 // Block Terminator.
|
||||
e.write(e.buf[:5])
|
||||
}
|
||||
@ -276,7 +271,7 @@ func (e *encoder) writeImageBlock(pm *image.Paletted, delay int, disposal byte)
|
||||
} else {
|
||||
e.buf[3] = 0x00 | disposal<<2
|
||||
}
|
||||
writeUint16(e.buf[4:6], uint16(delay)) // Delay Time (1/100ths of a second)
|
||||
byteorder.LePutUint16(e.buf[4:6], uint16(delay)) // Delay Time (1/100ths of a second)
|
||||
|
||||
// Transparent color index.
|
||||
if transparentIndex != -1 {
|
||||
@ -288,10 +283,10 @@ func (e *encoder) writeImageBlock(pm *image.Paletted, delay int, disposal byte)
|
||||
e.write(e.buf[:8])
|
||||
}
|
||||
e.buf[0] = sImageDescriptor
|
||||
writeUint16(e.buf[1:3], uint16(b.Min.X))
|
||||
writeUint16(e.buf[3:5], uint16(b.Min.Y))
|
||||
writeUint16(e.buf[5:7], uint16(b.Dx()))
|
||||
writeUint16(e.buf[7:9], uint16(b.Dy()))
|
||||
byteorder.LePutUint16(e.buf[1:3], uint16(b.Min.X))
|
||||
byteorder.LePutUint16(e.buf[3:5], uint16(b.Min.Y))
|
||||
byteorder.LePutUint16(e.buf[5:7], uint16(b.Dx()))
|
||||
byteorder.LePutUint16(e.buf[7:9], uint16(b.Dy()))
|
||||
e.write(e.buf[:9])
|
||||
|
||||
// To determine whether or not this frame's palette is the same as the
|
||||
|
Loading…
Reference in New Issue
Block a user