class javax.imageio.ImageTypeSpecifier$Grayscale extends javax.imageio.ImageTypeSpecifier
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: javax.imageio.ImageTypeSpecifier$Grayscale
super_class: javax.imageio.ImageTypeSpecifier
{
int bits;
descriptor: I
flags: (0x0000)
int dataType;
descriptor: I
flags: (0x0000)
boolean isSigned;
descriptor: Z
flags: (0x0000)
boolean hasAlpha;
descriptor: Z
flags: (0x0000)
boolean isAlphaPremultiplied;
descriptor: Z
flags: (0x0000)
public void <init>(int, int, boolean, boolean, boolean);
descriptor: (IIZZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=13, args_size=6
start local 0 // javax.imageio.ImageTypeSpecifier$Grayscale this
start local 1 // int bits
start local 2 // int dataType
start local 3 // boolean isSigned
start local 4 // boolean hasAlpha
start local 5 // boolean isAlphaPremultiplied
0: .line 575
aload 0 /* this */
invokespecial javax.imageio.ImageTypeSpecifier.<init>:()V
1: .line 581
iload 1 /* bits */
iconst_1
if_icmpeq 4
iload 1 /* bits */
iconst_2
if_icmpeq 4
iload 1 /* bits */
iconst_4
if_icmpeq 4
2: .line 582
iload 1 /* bits */
bipush 8
if_icmpeq 4
iload 1 /* bits */
bipush 16
if_icmpeq 4
3: .line 584
new java.lang.IllegalArgumentException
dup
ldc "Bad value for bits!"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: .line 586
StackMap locals: javax.imageio.ImageTypeSpecifier$Grayscale int int int int int
StackMap stack:
iload 2 /* dataType */
ifeq 10
5: .line 587
iload 2 /* dataType */
iconst_2
if_icmpeq 10
6: .line 588
iload 2 /* dataType */
iconst_1
if_icmpeq 10
7: .line 590
new java.lang.IllegalArgumentException
dup
8: .line 591
ldc "Bad value for dataType!"
9: .line 590
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: .line 593
StackMap locals:
StackMap stack:
iload 1 /* bits */
bipush 8
if_icmple 14
iload 2 /* dataType */
ifne 14
11: .line 594
new java.lang.IllegalArgumentException
dup
12: .line 595
ldc "Too many bits for dataType!"
13: .line 594
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: .line 598
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* bits */
putfield javax.imageio.ImageTypeSpecifier$Grayscale.bits:I
15: .line 599
aload 0 /* this */
iload 2 /* dataType */
putfield javax.imageio.ImageTypeSpecifier$Grayscale.dataType:I
16: .line 600
aload 0 /* this */
iload 3 /* isSigned */
putfield javax.imageio.ImageTypeSpecifier$Grayscale.isSigned:Z
17: .line 601
aload 0 /* this */
iload 4 /* hasAlpha */
putfield javax.imageio.ImageTypeSpecifier$Grayscale.hasAlpha:Z
18: .line 602
aload 0 /* this */
iload 5 /* isAlphaPremultiplied */
putfield javax.imageio.ImageTypeSpecifier$Grayscale.isAlphaPremultiplied:Z
19: .line 604
sipush 1003
invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
astore 6 /* colorSpace */
start local 6 // java.awt.color.ColorSpace colorSpace
20: .line 606
iload 1 /* bits */
bipush 8
if_icmpne 21
iload 2 /* dataType */
ifeq 24
21: .line 607
StackMap locals: java.awt.color.ColorSpace
StackMap stack:
iload 1 /* bits */
bipush 16
if_icmpne 57
22: .line 608
iload 2 /* dataType */
iconst_2
if_icmpeq 24
23: .line 609
iload 2 /* dataType */
iconst_1
if_icmpne 57
24: .line 612
StackMap locals:
StackMap stack:
iload 4 /* hasAlpha */
ifeq 25
iconst_2
goto 26
StackMap locals:
StackMap stack:
25: iconst_1
StackMap locals:
StackMap stack: int
26: istore 7 /* numBands */
start local 7 // int numBands
27: .line 614
iload 4 /* hasAlpha */
ifeq 28
iconst_3
goto 29
StackMap locals: int
StackMap stack:
28: iconst_1
29: .line 613
StackMap locals:
StackMap stack: int
istore 8 /* transparency */
start local 8 // int transparency
30: .line 617
iload 7 /* numBands */
newarray 10
astore 9 /* nBits */
start local 9 // int[] nBits
31: .line 618
aload 9 /* nBits */
iconst_0
iload 1 /* bits */
iastore
32: .line 619
iload 7 /* numBands */
iconst_2
if_icmpne 34
33: .line 620
aload 9 /* nBits */
iconst_1
iload 1 /* bits */
iastore
34: .line 622
StackMap locals: int int[]
StackMap stack:
aload 0 /* this */
35: .line 623
new java.awt.image.ComponentColorModel
dup
aload 6 /* colorSpace */
36: .line 624
aload 9 /* nBits */
37: .line 625
iload 4 /* hasAlpha */
38: .line 626
iload 5 /* isAlphaPremultiplied */
39: .line 627
iload 8 /* transparency */
40: .line 628
iload 2 /* dataType */
41: .line 623
invokespecial java.awt.image.ComponentColorModel.<init>:(Ljava/awt/color/ColorSpace;[IZZII)V
42: .line 622
putfield javax.imageio.ImageTypeSpecifier$Grayscale.colorModel:Ljava/awt/image/ColorModel;
43: .line 630
iload 7 /* numBands */
newarray 10
astore 10 /* bandOffsets */
start local 10 // int[] bandOffsets
44: .line 631
aload 10 /* bandOffsets */
iconst_0
iconst_0
iastore
45: .line 632
iload 7 /* numBands */
iconst_2
if_icmpne 47
46: .line 633
aload 10 /* bandOffsets */
iconst_1
iconst_1
iastore
47: .line 636
StackMap locals: int[]
StackMap stack:
iconst_1
istore 11 /* w */
start local 11 // int w
48: .line 637
iconst_1
istore 12 /* h */
start local 12 // int h
49: .line 638
aload 0 /* this */
50: .line 639
new java.awt.image.PixelInterleavedSampleModel
dup
iload 2 /* dataType */
51: .line 640
iload 11 /* w */
iload 12 /* h */
52: .line 641
iload 7 /* numBands */
iload 11 /* w */
iload 7 /* numBands */
imul
53: .line 642
aload 10 /* bandOffsets */
54: .line 639
invokespecial java.awt.image.PixelInterleavedSampleModel.<init>:(IIIII[I)V
55: .line 638
putfield javax.imageio.ImageTypeSpecifier$Grayscale.sampleModel:Ljava/awt/image/SampleModel;
end local 12 // int h
end local 11 // int w
end local 10 // int[] bandOffsets
end local 9 // int[] nBits
end local 8 // int transparency
end local 7 // int numBands
56: .line 643
goto 70
57: .line 644
StackMap locals: javax.imageio.ImageTypeSpecifier$Grayscale int int int int int java.awt.color.ColorSpace
StackMap stack:
iconst_1
iload 1 /* bits */
ishl
istore 7 /* numEntries */
start local 7 // int numEntries
58: .line 645
iload 7 /* numEntries */
newarray 8
astore 8 /* arr */
start local 8 // byte[] arr
59: .line 646
iconst_0
istore 9 /* i */
start local 9 // int i
60: goto 63
61: .line 647
StackMap locals: int byte[] int
StackMap stack:
aload 8 /* arr */
iload 9 /* i */
iload 9 /* i */
sipush 255
imul
iload 7 /* numEntries */
iconst_1
isub
idiv
i2b
bastore
62: .line 646
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
63: iload 9 /* i */
iload 7 /* numEntries */
if_icmplt 61
end local 9 // int i
64: .line 649
aload 0 /* this */
65: .line 650
new java.awt.image.IndexColorModel
dup
iload 1 /* bits */
iload 7 /* numEntries */
aload 8 /* arr */
aload 8 /* arr */
aload 8 /* arr */
invokespecial java.awt.image.IndexColorModel.<init>:(II[B[B[B)V
66: .line 649
putfield javax.imageio.ImageTypeSpecifier$Grayscale.colorModel:Ljava/awt/image/ColorModel;
67: .line 652
aload 0 /* this */
68: .line 653
new java.awt.image.MultiPixelPackedSampleModel
dup
iload 2 /* dataType */
iconst_1
iconst_1
iload 1 /* bits */
invokespecial java.awt.image.MultiPixelPackedSampleModel.<init>:(IIII)V
69: .line 652
putfield javax.imageio.ImageTypeSpecifier$Grayscale.sampleModel:Ljava/awt/image/SampleModel;
end local 8 // byte[] arr
end local 7 // int numEntries
70: .line 655
StackMap locals:
StackMap stack:
return
end local 6 // java.awt.color.ColorSpace colorSpace
end local 5 // boolean isAlphaPremultiplied
end local 4 // boolean hasAlpha
end local 3 // boolean isSigned
end local 2 // int dataType
end local 1 // int bits
end local 0 // javax.imageio.ImageTypeSpecifier$Grayscale this
LocalVariableTable:
Start End Slot Name Signature
0 71 0 this Ljavax/imageio/ImageTypeSpecifier$Grayscale;
0 71 1 bits I
0 71 2 dataType I
0 71 3 isSigned Z
0 71 4 hasAlpha Z
0 71 5 isAlphaPremultiplied Z
20 71 6 colorSpace Ljava/awt/color/ColorSpace;
27 56 7 numBands I
30 56 8 transparency I
31 56 9 nBits [I
44 56 10 bandOffsets [I
48 56 11 w I
49 56 12 h I
58 70 7 numEntries I
59 70 8 arr [B
60 64 9 i I
MethodParameters:
Name Flags
bits
dataType
isSigned
hasAlpha
isAlphaPremultiplied
}
SourceFile: "ImageTypeSpecifier.java"
NestHost: javax.imageio.ImageTypeSpecifier
InnerClasses:
Grayscale = javax.imageio.ImageTypeSpecifier$Grayscale of javax.imageio.ImageTypeSpecifier