@@ -22,18 +22,19 @@ class GifConverter(val gif: Gif, val resourcePack: ResourcePack) {
2222 gif.gifFile.inputStream().use(decoder::read)
2323 decoder.setFrameCount(frameCount)
2424
25- var time = 0
26- val totalTime = (0 until decoder.getFrameCount()).sumOf(decoder::getDelay)
27-
2825 val frames = buildList {
29- if (gif.type == Gif .GifType .SPRITE ) repeat(decoder.getFrameCount()) { this + = decoder.getFrame(it) ? : return @repeat }
30- else repeat(decoder.getFrameCount()) {
31- val delay = decoder.getDelay(it)
32- val start = time
33- time + = delay
34- val end = time
35- val image = toBufferedImage(decoder.getFrame(it) ? : return @repeat)
36- this + = generateFrame(image, start, end, totalTime)
26+ if (gif.type == Gif .GifType .SPRITE ) repeat(decoder.getFrameCount()) { this + = decoder.getFrame(it)?.let (::toBufferedImage) ? : return @repeat }
27+ else {
28+ var time = 0
29+ val totalTime = (0 until decoder.getFrameCount()).sumOf(decoder::getDelay)
30+ repeat(decoder.getFrameCount()) {
31+ val delay = decoder.getDelay(it)
32+ val start = time
33+ time + = delay
34+ val end = time
35+ val image = toBufferedImage(decoder.getFrame(it)?.let (::toBufferedImage) ? : return @repeat)
36+ this + = generateFrame(image, start, end, totalTime)
37+ }
3738 }
3839 }
3940
@@ -47,7 +48,7 @@ class GifConverter(val gif: Gif, val resourcePack: ResourcePack) {
4748 g.composite = AlphaComposite .Src
4849
4950 frames.forEachIndexed { i, frame ->
50- g.drawImage(frame, i * width, 0 , width, height, null )
51+ g.drawImage(frame, 0 , i * height , width, height, null )
5152 }
5253 g.dispose()
5354
0 commit comments