|
1 | 1 | package dev.storeforminecraft.skinviewandroid.library.twodimension.texture |
2 | 2 |
|
3 | 3 | import android.graphics.Bitmap |
| 4 | +import androidx.core.graphics.scale |
4 | 5 | import dev.storeforminecraft.skinviewandroid.library.datas.ModelSourceTextureType |
5 | 6 |
|
6 | 7 | object SteveTextureUtil { |
7 | 8 | fun getSteveFrontTex(skin: Bitmap): SteveFrontTexture { |
8 | 9 | val texType = |
9 | 10 | if (skin.width == skin.height) ModelSourceTextureType.RATIO_1_1 else ModelSourceTextureType.RATIO_2_1 |
| 11 | + |
| 12 | + val scale = |
| 13 | + if (skin.width >= 64 && texType == ModelSourceTextureType.RATIO_1_1) skin.width / 64 else 1 |
| 14 | + |
10 | 15 | val tex = if (texType == ModelSourceTextureType.RATIO_1_1) { |
11 | 16 | SteveFrontTexture( |
12 | 17 | texType = texType, |
13 | | - head = Bitmap.createBitmap(skin, 8, 8, 8, 8), |
14 | | - hat = Bitmap.createBitmap(skin, 40, 8, 8, 8), |
15 | | - torso = Bitmap.createBitmap(skin, 20, 20, 8, 12), |
16 | | - torso2nd = Bitmap.createBitmap(skin, 20, 36, 8, 12), |
17 | | - leftArm = Bitmap.createBitmap(skin, 36, 52, 4, 12), |
18 | | - leftArm2nd = Bitmap.createBitmap(skin, 52, 52, 4, 12), |
19 | | - rightArm = Bitmap.createBitmap(skin, 44, 20, 4, 12), |
20 | | - rightArm2nd = Bitmap.createBitmap(skin, 44, 36, 4, 12), |
21 | | - leftLeg = Bitmap.createBitmap(skin, 20, 52, 4, 12), |
22 | | - leftLeg2nd = Bitmap.createBitmap(skin, 4, 52, 4, 12), |
23 | | - rightLeg = Bitmap.createBitmap(skin, 4, 20, 4, 12), |
24 | | - rightLeg2nd = Bitmap.createBitmap(skin, 4, 36, 4, 12) |
| 18 | + skinImageScale = scale, |
| 19 | + head = Bitmap.createBitmap(skin, 8 * scale, 8 * scale, 8 * scale, 8 * scale), |
| 20 | + hat = Bitmap.createBitmap(skin, 40 * scale, 8 * scale, 8 * scale, 8 * scale), |
| 21 | + torso = Bitmap.createBitmap(skin, 20 * scale, 20 * scale, 8 * scale, 12 * scale), |
| 22 | + torso2nd = Bitmap.createBitmap(skin, 20 * scale, 36 * scale, 8 * scale, 12 * scale), |
| 23 | + rightArm = Bitmap.createBitmap(skin, 36 * scale, 52 * scale, 4 * scale, 12 * scale), |
| 24 | + rightArm2nd = Bitmap.createBitmap(skin, 52 * scale, 52 * scale, 4 * scale, 12 * scale), |
| 25 | + leftArm = Bitmap.createBitmap(skin, 44 * scale, 20 * scale, 4 * scale, 12 * scale), |
| 26 | + leftArm2nd = Bitmap.createBitmap(skin, 44 * scale, 36 * scale, 4 * scale, 12 * scale), |
| 27 | + rightLeg = Bitmap.createBitmap(skin, 20 * scale, 52 * scale, 4 * scale, 12 * scale), |
| 28 | + rightLeg2nd = Bitmap.createBitmap(skin, 4 * scale, 52 * scale, 4 * scale, 12 * scale), |
| 29 | + leftLeg = Bitmap.createBitmap(skin, 4 * scale, 20 * scale, 4 * scale, 12 * scale), |
| 30 | + leftLeg2nd = Bitmap.createBitmap(skin, 4 * scale, 36 * scale, 4 * scale, 12 * scale) |
25 | 31 | ) |
26 | 32 | } else { |
27 | 33 | SteveFrontTexture( |
28 | 34 | texType = texType, |
| 35 | + skinImageScale = 1, |
29 | 36 | head = Bitmap.createBitmap(skin, 8, 8, 8, 8), |
30 | 37 | hat = Bitmap.createBitmap(skin, 40, 8, 8, 8), |
31 | 38 | torso = Bitmap.createBitmap(skin, 20, 20, 8, 12), |
|
0 commit comments