This repository has been archived by the owner on Jul 8, 2022. It is now read-only.
/
ImageFormatsTest.kt
93 lines (81 loc) · 2.88 KB
/
ImageFormatsTest.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
package com.soywiz.korim.format
import com.soywiz.korim.bitmap.Bitmap32
import com.soywiz.korio.async.syncTest
import com.soywiz.korio.vfs.ResourcesVfs
import org.junit.Test
import kotlin.test.assertEquals
class ImageFormatsTest {
val formats = ImageFormats().registerStandard().register(SVG).register(ICO)
@Test
fun png8() = syncTest {
val bitmap = ResourcesVfs["kotlin8.png"].readBitmapNoNative(formats)
assertEquals("Bitmap8(190, 190, palette=32)", bitmap.toString())
}
@Test
fun png24() = syncTest {
val bitmap = ResourcesVfs["kotlin24.png"].readBitmapNoNative(formats)
assertEquals("Bitmap32(190, 190)", bitmap.toString())
}
@Test
fun png32Encoder() = syncTest {
val bitmap = ResourcesVfs["kotlin24.png"].readBitmapNoNative(formats)
val data = PNG.encode(bitmap)
val bitmap2 = PNG.decode(data)
assertEquals("Bitmap32(190, 190)", bitmap.toString())
assertEquals("Bitmap32(190, 190)", bitmap2.toString())
assertEquals(true, Bitmap32.matches(bitmap, bitmap2))
}
@Test
fun png32EncoderPremultiplied() = syncTest {
val bitmapOriginal = ResourcesVfs["kotlin32.png"].readBitmapNoNative(formats).toBMP32()
val bitmap = bitmapOriginal.premultiplied()
//showImageAndWait(bitmap)
val data = PNG.encode(bitmap)
val bitmap2 = PNG.decode(data)
//showImageAndWait(bitmap2)
assertEquals("Bitmap32(190, 190)", bitmap.toString())
assertEquals("Bitmap32(190, 190)", bitmap2.toString())
//showImageAndWait(Bitmap32.diff(bitmap, bitmap2))
assertEquals(true, Bitmap32.matches(bitmapOriginal, bitmap2))
}
@Test
fun png32() = syncTest {
val bitmap = ResourcesVfs["kotlin32.png"].readBitmapNoNative(formats)
assertEquals("Bitmap32(190, 190)", bitmap.toString())
}
@Test
fun tga() = syncTest {
val bitmap = ResourcesVfs["kotlin.tga"].readBitmapNoNative(formats)
assertEquals("Bitmap32(190, 190)", bitmap.toString())
}
@Test
fun jpeg() = syncTest {
val bitmap = ResourcesVfs["kotlin.jpg"].readBitmapNoNative(formats)
assertEquals("Bitmap32(190, 190)", bitmap.toString())
}
@Test
fun jpeg2() = syncTest {
val bitmap = ResourcesVfs["img1.jpg"].readBitmapNoNative(formats)
assertEquals("Bitmap32(460, 460)", bitmap.toString())
}
@Test
fun ico() = syncTest {
val bitmaps = ResourcesVfs["icon.ico"].readBitmapListNoNative(formats)
assertEquals(
"[Bitmap32(256, 256), Bitmap32(128, 128), Bitmap32(96, 96), Bitmap32(72, 72), Bitmap32(64, 64), Bitmap32(48, 48), Bitmap32(32, 32), Bitmap32(24, 24), Bitmap32(16, 16)]",
bitmaps.toString()
)
}
//@Test
////@Ignore
//fun huge() = syncTest {
// //Thread.sleep(10000)
// val bitmap = Bitmap32(8196, 8196)
// //val bitmap = Bitmap32(32, 32)
// //val bitmap = Bitmap32(1, 1)
// val data = PNG().encode(bitmap, props = ImageEncodingProps(quality = 0.0))
// val bitmap2 = PNG().decode(data)
// assertEquals("Bitmap32(8196, 8196)", bitmap.toString())
// //assertEquals("Bitmap32(8196, 8196)", bitmap2.toString())
//}
}