public class com.sun.imageio.plugins.bmp.BMPImageWriter extends javax.imageio.ImageWriter implements com.sun.imageio.plugins.bmp.BMPConstants
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.imageio.plugins.bmp.BMPImageWriter
super_class: javax.imageio.ImageWriter
{
private javax.imageio.stream.ImageOutputStream stream;
descriptor: Ljavax/imageio/stream/ImageOutputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.ByteArrayOutputStream embedded_stream;
descriptor: Ljava/io/ByteArrayOutputStream;
flags: (0x0002) ACC_PRIVATE
private int version;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int compressionType;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean isTopDown;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int w;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int h;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int compImageSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int[] bitMasks;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] bitPos;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private byte[] bpixels;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private short[] spixels;
descriptor: [S
flags: (0x0002) ACC_PRIVATE
private int[] ipixels;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
public void <init>(javax.imageio.spi.ImageWriterSpi);
descriptor: (Ljavax/imageio/spi/ImageWriterSpi;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial javax.imageio.ImageWriter.<init>:(Ljavax/imageio/spi/ImageWriterSpi;)V
1: aload 0
aconst_null
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
2: aload 0
aconst_null
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
3: aload 0
iconst_0
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 5 1 originator Ljavax/imageio/spi/ImageWriterSpi;
MethodParameters:
Name Flags
originator
public void setOutput(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
1: aload 1
ifnull 7
2: aload 1
instanceof javax.imageio.stream.ImageOutputStream
ifne 4
3: new java.lang.IllegalArgumentException
dup
ldc "BMPImageWriter0"
invokestatic com.sun.imageio.plugins.common.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast javax.imageio.stream.ImageOutputStream
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
5: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invokeinterface javax.imageio.stream.ImageOutputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 9 1 output Ljava/lang/Object;
MethodParameters:
Name Flags
output
public javax.imageio.ImageWriteParam getDefaultWriteParam();
descriptor: ()Ljavax/imageio/ImageWriteParam;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new javax.imageio.plugins.bmp.BMPImageWriteParam
dup
invokespecial javax.imageio.plugins.bmp.BMPImageWriteParam.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
public javax.imageio.metadata.IIOMetadata getDefaultStreamMetadata(javax.imageio.ImageWriteParam);
descriptor: (Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 1 1 param Ljavax/imageio/ImageWriteParam;
MethodParameters:
Name Flags
param
public javax.imageio.metadata.IIOMetadata getDefaultImageMetadata(javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam);
descriptor: (Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.imageio.plugins.bmp.BMPMetadata
dup
invokespecial com.sun.imageio.plugins.bmp.BMPMetadata.<init>:()V
astore 3
start local 3 1: aload 3
ldc "BMP v. 3.x"
putfield com.sun.imageio.plugins.bmp.BMPMetadata.bmpVersion:Ljava/lang/String;
2: aload 3
aload 0
aload 1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getPreferredCompressionType:(Ljavax/imageio/ImageTypeSpecifier;)I
putfield com.sun.imageio.plugins.bmp.BMPMetadata.compression:I
3: aload 2
ifnull 6
4: aload 2
invokevirtual javax.imageio.ImageWriteParam.getCompressionMode:()I
iconst_2
if_icmpne 6
5: aload 3
aload 0
aload 2
invokevirtual javax.imageio.ImageWriteParam.getCompressionType:()Ljava/lang/String;
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getCompressionType:(Ljava/lang/String;)I
putfield com.sun.imageio.plugins.bmp.BMPMetadata.compression:I
6: StackMap locals: com.sun.imageio.plugins.bmp.BMPMetadata
StackMap stack:
aload 3
aload 1
invokevirtual javax.imageio.ImageTypeSpecifier.getColorModel:()Ljava/awt/image/ColorModel;
invokevirtual java.awt.image.ColorModel.getPixelSize:()I
i2s
putfield com.sun.imageio.plugins.bmp.BMPMetadata.bitsPerPixel:S
7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 8 1 imageType Ljavax/imageio/ImageTypeSpecifier;
0 8 2 param Ljavax/imageio/ImageWriteParam;
1 8 3 meta Lcom/sun/imageio/plugins/bmp/BMPMetadata;
MethodParameters:
Name Flags
imageType
param
public javax.imageio.metadata.IIOMetadata convertStreamMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageWriteParam);
descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 1 1 inData Ljavax/imageio/metadata/IIOMetadata;
0 1 2 param Ljavax/imageio/ImageWriteParam;
MethodParameters:
Name Flags
inData
param
public javax.imageio.metadata.IIOMetadata convertImageMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam);
descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 1 1 metadata Ljavax/imageio/metadata/IIOMetadata;
0 1 2 type Ljavax/imageio/ImageTypeSpecifier;
0 1 3 param Ljavax/imageio/ImageWriteParam;
MethodParameters:
Name Flags
metadata
type
param
public boolean canWriteRasters();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
public void write(javax.imageio.metadata.IIOMetadata, javax.imageio.IIOImage, javax.imageio.ImageWriteParam);
descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=65, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "BMPImageWriter7"
invokestatic com.sun.imageio.plugins.common.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "BMPImageWriter8"
invokestatic com.sun.imageio.plugins.common.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.clearAbortRequest:()V
5: aload 0
iconst_0
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processImageStarted:(I)V
6: aload 3
ifnonnull 8
7: aload 0
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getDefaultWriteParam:()Ljavax/imageio/ImageWriteParam;
astore 3
8: StackMap locals:
StackMap stack:
aload 3
checkcast javax.imageio.plugins.bmp.BMPImageWriteParam
astore 4
start local 4 9: bipush 24
istore 5
start local 5 10: iconst_0
istore 6
start local 6 11: iconst_0
istore 7
start local 7 12: aconst_null
astore 8
start local 8 13: aconst_null
astore 9
start local 9 14: aconst_null
astore 10
start local 10 15: aload 2
invokevirtual javax.imageio.IIOImage.hasRaster:()Z
istore 11
start local 11 16: aload 3
invokevirtual javax.imageio.ImageWriteParam.getSourceRegion:()Ljava/awt/Rectangle;
astore 12
start local 12 17: aconst_null
astore 13
start local 13 18: aconst_null
astore 14
start local 14 19: aload 0
iconst_0
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
20: iload 11
ifeq 28
21: aload 2
invokevirtual javax.imageio.IIOImage.getRaster:()Ljava/awt/image/Raster;
astore 10
22: aload 10
invokevirtual java.awt.image.Raster.getSampleModel:()Ljava/awt/image/SampleModel;
astore 13
23: aconst_null
aload 13
invokestatic com.sun.imageio.plugins.common.ImageUtil.createColorModel:(Ljava/awt/color/ColorSpace;Ljava/awt/image/SampleModel;)Ljava/awt/image/ColorModel;
astore 14
24: aload 12
ifnonnull 26
25: aload 10
invokevirtual java.awt.image.Raster.getBounds:()Ljava/awt/Rectangle;
astore 12
goto 37
26: StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel
StackMap stack:
aload 12
aload 10
invokevirtual java.awt.image.Raster.getBounds:()Ljava/awt/Rectangle;
invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
astore 12
27: goto 37
28: StackMap locals:
StackMap stack:
aload 2
invokevirtual javax.imageio.IIOImage.getRenderedImage:()Ljava/awt/image/RenderedImage;
astore 9
29: aload 9
invokeinterface java.awt.image.RenderedImage.getSampleModel:()Ljava/awt/image/SampleModel;
astore 13
30: aload 9
invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
astore 14
31: new java.awt.Rectangle
dup
aload 9
invokeinterface java.awt.image.RenderedImage.getMinX:()I
aload 9
invokeinterface java.awt.image.RenderedImage.getMinY:()I
32: aload 9
invokeinterface java.awt.image.RenderedImage.getWidth:()I
aload 9
invokeinterface java.awt.image.RenderedImage.getHeight:()I
33: invokespecial java.awt.Rectangle.<init>:(IIII)V
astore 15
start local 15 34: aload 12
ifnonnull 36
35: aload 15
astore 12
goto 37
36: StackMap locals: java.awt.Rectangle
StackMap stack:
aload 12
aload 15
invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
astore 12
end local 15 37: StackMap locals:
StackMap stack:
aload 2
invokevirtual javax.imageio.IIOImage.getMetadata:()Ljavax/imageio/metadata/IIOMetadata;
astore 15
start local 15 38: aconst_null
astore 16
start local 16 39: aload 15
ifnull 43
40: aload 15
instanceof com.sun.imageio.plugins.bmp.BMPMetadata
ifeq 43
41: aload 15
checkcast com.sun.imageio.plugins.bmp.BMPMetadata
astore 16
42: goto 48
43: StackMap locals: javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata
StackMap stack:
new javax.imageio.ImageTypeSpecifier
dup
aload 14
aload 13
invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)V
44: astore 17
start local 17 45: aload 0
aload 17
46: aload 3
47: invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getDefaultImageMetadata:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
checkcast com.sun.imageio.plugins.bmp.BMPMetadata
astore 16
end local 17 48: StackMap locals:
StackMap stack:
aload 12
invokevirtual java.awt.Rectangle.isEmpty:()Z
ifeq 50
49: new java.lang.RuntimeException
dup
ldc "BMPImageWrite0"
invokestatic com.sun.imageio.plugins.common.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
50: StackMap locals:
StackMap stack:
aload 3
invokevirtual javax.imageio.ImageWriteParam.getSourceXSubsampling:()I
istore 17
start local 17 51: aload 3
invokevirtual javax.imageio.ImageWriteParam.getSourceYSubsampling:()I
istore 18
start local 18 52: aload 3
invokevirtual javax.imageio.ImageWriteParam.getSubsamplingXOffset:()I
istore 19
start local 19 53: aload 3
invokevirtual javax.imageio.ImageWriteParam.getSubsamplingYOffset:()I
istore 20
start local 20 54: aload 13
invokevirtual java.awt.image.SampleModel.getDataType:()I
istore 21
start local 21 55: aload 12
iload 19
iload 20
invokevirtual java.awt.Rectangle.translate:(II)V
56: aload 12
dup
getfield java.awt.Rectangle.width:I
iload 19
isub
putfield java.awt.Rectangle.width:I
57: aload 12
dup
getfield java.awt.Rectangle.height:I
iload 20
isub
putfield java.awt.Rectangle.height:I
58: aload 12
getfield java.awt.Rectangle.x:I
iload 17
idiv
istore 22
start local 22 59: aload 12
getfield java.awt.Rectangle.y:I
iload 18
idiv
istore 23
start local 23 60: aload 0
aload 12
getfield java.awt.Rectangle.width:I
iload 17
iadd
iconst_1
isub
iload 17
idiv
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
61: aload 0
aload 12
getfield java.awt.Rectangle.height:I
iload 18
iadd
iconst_1
isub
iload 18
idiv
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
62: aload 12
getfield java.awt.Rectangle.x:I
iload 17
irem
istore 19
63: aload 12
getfield java.awt.Rectangle.y:I
iload 18
irem
istore 20
64: new java.awt.Rectangle
dup
iload 22
iload 23
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
invokespecial java.awt.Rectangle.<init>:(IIII)V
astore 24
start local 24 65: aload 24
aload 12
invokevirtual java.awt.Rectangle.equals:(Ljava/lang/Object;)Z
istore 25
start local 25 66: aload 3
invokevirtual javax.imageio.ImageWriteParam.getSourceBands:()[I
astore 26
start local 26 67: iconst_1
istore 27
start local 27 68: aload 13
invokevirtual java.awt.image.SampleModel.getNumBands:()I
istore 28
start local 28 69: aload 26
ifnull 75
70: aload 13
aload 26
invokevirtual java.awt.image.SampleModel.createSubsetSampleModel:([I)Ljava/awt/image/SampleModel;
astore 13
71: aconst_null
astore 14
72: iconst_0
istore 27
73: aload 13
invokevirtual java.awt.image.SampleModel.getNumBands:()I
istore 28
74: goto 81
75: StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int
StackMap stack:
iload 28
newarray 10
astore 26
76: iconst_0
istore 29
start local 29 77: goto 80
78: StackMap locals: int
StackMap stack:
aload 26
iload 29
iload 29
iastore
79: iinc 29 1
StackMap locals:
StackMap stack:
80: iload 29
iload 28
if_icmplt 78
end local 29 81: StackMap locals:
StackMap stack:
aconst_null
astore 29
start local 29 82: iconst_1
istore 30
start local 30 83: aload 13
instanceof java.awt.image.ComponentSampleModel
ifeq 96
84: aload 13
checkcast java.awt.image.ComponentSampleModel
invokevirtual java.awt.image.ComponentSampleModel.getBandOffsets:()[I
astore 29
85: aload 13
instanceof java.awt.image.BandedSampleModel
ifeq 88
86: iconst_0
istore 30
87: goto 105
88: StackMap locals: int[] int
StackMap stack:
iconst_0
istore 31
start local 31 89: goto 94
90: StackMap locals: int
StackMap stack:
iload 30
aload 29
iload 31
iaload
aload 29
arraylength
iload 31
isub
iconst_1
isub
if_icmpne 91
iconst_1
goto 92
StackMap locals:
StackMap stack: int
91: iconst_0
StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int
StackMap stack: int int
92: iand
istore 30
93: iinc 31 1
StackMap locals:
StackMap stack:
94: iload 31
aload 29
arraylength
if_icmplt 90
end local 31 95: goto 105
96: StackMap locals:
StackMap stack:
aload 13
instanceof java.awt.image.SinglePixelPackedSampleModel
ifeq 105
97: aload 13
checkcast java.awt.image.SinglePixelPackedSampleModel
invokevirtual java.awt.image.SinglePixelPackedSampleModel.getBitOffsets:()[I
astore 31
start local 31 98: iconst_0
istore 32
start local 32 99: goto 104
100: StackMap locals: int[] int
StackMap stack:
iload 30
aload 31
iload 32
iaload
aload 31
iload 32
iconst_1
iadd
iaload
if_icmple 101
iconst_1
goto 102
StackMap locals:
StackMap stack: int
101: iconst_0
StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int
StackMap stack: int int
102: iand
istore 30
103: iinc 32 1
StackMap locals:
StackMap stack:
104: iload 32
aload 31
arraylength
iconst_1
isub
if_icmplt 100
end local 32 end local 31 105: StackMap locals:
StackMap stack:
aload 29
ifnonnull 112
106: iload 28
newarray 10
astore 29
107: iconst_0
istore 31
start local 31 108: goto 111
109: StackMap locals: int
StackMap stack:
aload 29
iload 31
iload 31
iastore
110: iinc 31 1
StackMap locals:
StackMap stack:
111: iload 31
iload 28
if_icmplt 109
end local 31 112: StackMap locals:
StackMap stack:
iload 25
iload 30
iand
istore 25
113: aload 13
invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
astore 31
start local 31 114: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
iload 28
imul
istore 32
start local 32 115: aload 4
invokevirtual javax.imageio.plugins.bmp.BMPImageWriteParam.getCompressionMode:()I
tableswitch { // 1 - 3
1: 120
2: 116
3: 118
default: 122
}
116: StackMap locals: int[] int
StackMap stack:
aload 0
aload 0
aload 4
invokevirtual javax.imageio.plugins.bmp.BMPImageWriteParam.getCompressionType:()Ljava/lang/String;
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getCompressionType:(Ljava/lang/String;)I
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
117: goto 123
118: StackMap locals:
StackMap stack:
aload 0
aload 16
getfield com.sun.imageio.plugins.bmp.BMPMetadata.compression:I
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
119: goto 123
120: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 14
aload 13
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getPreferredCompressionType:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)I
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
121: goto 123
122: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
123: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
aload 14
aload 13
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.canEncodeImage:(ILjava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)Z
ifne 127
124: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Image can not be encoded with compression type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
125: getstatic com.sun.imageio.plugins.bmp.BMPImageWriter.compressionTypeNames:[Ljava/lang/String;
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
126: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
127: StackMap locals:
StackMap stack:
aconst_null
astore 33
start local 33 128: aconst_null
astore 34
start local 34 129: aconst_null
astore 35
start local 35 130: aconst_null
astore 36
start local 36 131: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_3
if_icmpne 172
132: aload 13
invokevirtual java.awt.image.SampleModel.getDataType:()I
invokestatic java.awt.image.DataBuffer.getDataTypeSize:(I)I
133: istore 5
134: iload 5
bipush 16
if_icmpeq 137
iload 5
bipush 32
if_icmpeq 137
135: bipush 32
istore 5
136: iconst_0
istore 25
137: StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[]
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
iload 5
imul
bipush 7
iadd
iconst_3
ishr
istore 32
138: iconst_1
istore 6
139: iconst_3
istore 7
140: iload 7
newarray 8
astore 33
141: iload 7
newarray 8
astore 34
142: iload 7
newarray 8
astore 35
143: iload 7
newarray 8
astore 36
144: ldc 16711680
istore 37
start local 37 145: ldc 65280
istore 38
start local 38 146: sipush 255
istore 39
start local 39 147: iload 5
bipush 16
if_icmpne 157
148: aload 14
instanceof java.awt.image.DirectColorModel
ifeq 154
149: aload 14
checkcast java.awt.image.DirectColorModel
astore 40
start local 40 150: aload 40
invokevirtual java.awt.image.DirectColorModel.getRedMask:()I
istore 37
151: aload 40
invokevirtual java.awt.image.DirectColorModel.getGreenMask:()I
istore 38
152: aload 40
invokevirtual java.awt.image.DirectColorModel.getBlueMask:()I
istore 39
end local 40 153: goto 157
154: StackMap locals: int int int
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Image can not be encoded with compression type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
155: getstatic com.sun.imageio.plugins.bmp.BMPImageWriter.compressionTypeNames:[Ljava/lang/String;
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
156: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
157: StackMap locals:
StackMap stack:
aload 0
iload 37
iconst_0
aload 33
aload 34
aload 35
aload 36
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeMaskToPalette:(II[B[B[B[B)V
158: aload 0
iload 38
iconst_1
aload 33
aload 34
aload 35
aload 36
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeMaskToPalette:(II[B[B[B[B)V
159: aload 0
iload 39
iconst_2
aload 33
aload 34
aload 35
aload 36
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeMaskToPalette:(II[B[B[B[B)V
160: iload 25
ifne 169
161: aload 0
iconst_3
newarray 10
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
162: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
iconst_0
iload 37
iastore
163: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
iconst_1
iload 38
iastore
164: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
iconst_2
iload 39
iastore
165: aload 0
iconst_3
newarray 10
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
166: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
iconst_0
aload 0
iload 37
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.firstLowBit:(I)I
iastore
167: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
iconst_1
aload 0
iload 38
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.firstLowBit:(I)I
iastore
168: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
iconst_2
aload 0
iload 39
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.firstLowBit:(I)I
iastore
169: StackMap locals:
StackMap stack:
aload 14
instanceof java.awt.image.IndexColorModel
ifeq 232
170: aload 14
checkcast java.awt.image.IndexColorModel
astore 8
end local 39 end local 38 end local 37 171: goto 232
172: StackMap locals:
StackMap stack:
aload 14
instanceof java.awt.image.IndexColorModel
ifeq 201
173: iconst_1
istore 6
174: aload 14
checkcast java.awt.image.IndexColorModel
astore 8
175: aload 8
invokevirtual java.awt.image.IndexColorModel.getMapSize:()I
istore 7
176: iload 7
iconst_2
if_icmpgt 180
177: iconst_1
istore 5
178: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
bipush 7
iadd
iconst_3
ishr
istore 32
179: goto 191
StackMap locals:
StackMap stack:
180: iload 7
bipush 16
if_icmpgt 184
181: iconst_4
istore 5
182: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
iconst_1
iadd
iconst_1
ishr
istore 32
183: goto 191
StackMap locals:
StackMap stack:
184: iload 7
sipush 256
if_icmpgt 187
185: bipush 8
istore 5
186: goto 191
187: StackMap locals:
StackMap stack:
bipush 24
istore 5
188: iconst_0
istore 6
189: iconst_0
istore 7
190: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
iconst_3
imul
istore 32
191: StackMap locals:
StackMap stack:
iload 6
ifeq 232
192: iload 7
newarray 8
astore 33
193: iload 7
newarray 8
astore 34
194: iload 7
newarray 8
astore 35
195: iload 7
newarray 8
astore 36
196: aload 8
aload 36
invokevirtual java.awt.image.IndexColorModel.getAlphas:([B)V
197: aload 8
aload 33
invokevirtual java.awt.image.IndexColorModel.getReds:([B)V
198: aload 8
aload 34
invokevirtual java.awt.image.IndexColorModel.getGreens:([B)V
199: aload 8
aload 35
invokevirtual java.awt.image.IndexColorModel.getBlues:([B)V
200: goto 232
201: StackMap locals:
StackMap stack:
iload 28
iconst_1
if_icmpne 219
202: iconst_1
istore 6
203: sipush 256
istore 7
204: aload 31
iconst_0
iaload
istore 5
205: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
iload 5
imul
bipush 7
iadd
iconst_3
ishr
istore 32
206: sipush 256
newarray 8
astore 33
207: sipush 256
newarray 8
astore 34
208: sipush 256
newarray 8
astore 35
209: sipush 256
newarray 8
astore 36
210: iconst_0
istore 37
start local 37 211: goto 217
212: StackMap locals: int
StackMap stack:
aload 33
iload 37
iload 37
i2b
bastore
213: aload 34
iload 37
iload 37
i2b
bastore
214: aload 35
iload 37
iload 37
i2b
bastore
215: aload 36
iload 37
iconst_m1
bastore
216: iinc 37 1
StackMap locals:
StackMap stack:
217: iload 37
sipush 256
if_icmplt 212
end local 37 218: goto 232
219: StackMap locals:
StackMap stack:
aload 13
instanceof java.awt.image.SinglePixelPackedSampleModel
ifeq 232
220: iload 27
ifeq 232
221: aload 13
invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
astore 37
start local 37 222: iconst_0
istore 5
223: aload 37
dup
astore 41
arraylength
istore 40
iconst_0
istore 39
goto 227
StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int[] top int int int[]
StackMap stack:
224: aload 41
iload 39
iaload
istore 38
start local 38 225: iload 5
iload 38
iadd
istore 5
end local 38 226: iinc 39 1
StackMap locals:
StackMap stack:
227: iload 39
iload 40
if_icmplt 224
228: aload 0
iload 5
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.roundBpp:(I)I
istore 5
229: iload 5
aload 13
invokevirtual java.awt.image.SampleModel.getDataType:()I
invokestatic java.awt.image.DataBuffer.getDataTypeSize:(I)I
if_icmpeq 231
230: iconst_0
istore 25
231: StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int[]
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
iload 5
imul
bipush 7
iadd
iconst_3
ishr
istore 32
end local 37 232: StackMap locals:
StackMap stack:
iconst_0
istore 37
start local 37 233: iconst_0
istore 38
start local 38 234: iconst_0
istore 39
start local 39 235: iconst_0
istore 40
start local 40 236: iconst_0
istore 41
start local 41 237: iconst_0
istore 42
start local 42 238: iconst_0
istore 43
start local 43 239: iload 7
istore 44
start local 44 240: iload 32
iconst_4
irem
istore 45
start local 45 241: iload 45
ifeq 243
242: iconst_4
iload 45
isub
istore 45
243: StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int int int int int int int int int
StackMap stack:
bipush 54
iload 7
iconst_4
imul
iadd
istore 38
244: iload 32
iload 45
iadd
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
imul
istore 40
245: iload 40
iload 38
iadd
istore 37
246: bipush 40
istore 39
247: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
lstore 46
start local 46 248: aload 0
iload 37
iload 38
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeFileHeader:(II)V
249: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
ifeq 251
250: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_3
if_icmpne 253
251: StackMap locals: long
StackMap stack:
aload 0
aload 4
invokevirtual javax.imageio.plugins.bmp.BMPImageWriteParam.isTopDown:()Z
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.isTopDown:Z
252: goto 254
253: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.isTopDown:Z
254: StackMap locals:
StackMap stack:
aload 0
iload 39
iload 5
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeInfoHeader:(II)V
255: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
256: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 40
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
257: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 41
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
258: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 42
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
259: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 43
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
260: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 44
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
261: iload 6
ifeq 278
262: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_3
if_icmpne 270
263: iconst_0
istore 48
start local 48 264: goto 268
265: StackMap locals: int
StackMap stack:
aload 36
iload 48
baload
sipush 255
iand
aload 33
iload 48
baload
sipush 255
iand
sipush 256
imul
iadd
aload 34
iload 48
baload
sipush 255
iand
ldc 65536
imul
iadd
aload 35
iload 48
baload
sipush 255
iand
ldc 16777216
imul
iadd
istore 49
start local 49 266: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 49
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
end local 49 267: iinc 48 1
StackMap locals:
StackMap stack:
268: iload 48
iconst_3
if_icmplt 265
end local 48 269: goto 278
270: StackMap locals:
StackMap stack:
iconst_0
istore 48
start local 48 271: goto 277
272: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 35
iload 48
baload
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
273: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 34
iload 48
baload
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
274: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 33
iload 48
baload
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
275: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 36
iload 48
baload
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
276: iinc 48 1
StackMap locals:
StackMap stack:
277: iload 48
iload 7
if_icmplt 272
end local 48 278: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
iload 28
imul
istore 48
start local 48 279: iload 48
iload 17
imul
newarray 10
astore 49
start local 49 280: aload 0
iload 32
newarray 8
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
281: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_4
if_icmpeq 283
282: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_5
if_icmpne 302
283: StackMap locals: int int[]
StackMap stack:
aload 0
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
284: aload 0
aload 2
aload 4
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeEmbedded:(Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
285: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.flush:()V
286: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.size:()I
istore 40
287: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
lstore 50
start local 50 288: iload 38
iload 40
iadd
istore 37
289: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
lload 46
invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
290: aload 0
iload 37
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeSize:(II)V
291: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
lload 46
invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
292: aload 0
iload 40
bipush 34
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeSize:(II)V
293: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
lload 50
invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
294: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokeinterface javax.imageio.stream.ImageOutputStream.write:([B)V
295: aload 0
aconst_null
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
296: aload 0
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.abortRequested:()Z
ifeq 299
297: aload 0
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processWriteAborted:()V
298: goto 301
299: StackMap locals: long
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processImageComplete:()V
300: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
invokeinterface javax.imageio.stream.ImageOutputStream.flushBefore:(J)V
301: StackMap locals:
StackMap stack:
return
end local 50 302: StackMap locals:
StackMap stack:
aload 29
iconst_0
iaload
istore 50
start local 50 303: iconst_1
istore 51
start local 51 304: goto 308
305: StackMap locals: int int
StackMap stack:
aload 29
iload 51
iaload
iload 50
if_icmple 307
306: aload 29
iload 51
iaload
istore 50
307: StackMap locals:
StackMap stack:
iinc 51 1
StackMap locals:
StackMap stack:
308: iload 51
aload 29
arraylength
if_icmplt 305
end local 51 309: iload 50
iconst_1
iadd
newarray 10
astore 51
start local 51 310: iload 32
istore 52
start local 52 311: iload 25
ifeq 313
iload 27
ifeq 313
312: iload 32
iload 21
invokestatic java.awt.image.DataBuffer.getDataTypeSize:(I)I
iconst_3
ishr
idiv
istore 52
313: StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int int int int int int int int int long int int[] int int[] int
StackMap stack:
iconst_0
istore 53
start local 53 314: goto 423
315: StackMap locals: int
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.abortRequested:()Z
ifeq 317
316: goto 424
317: StackMap locals:
StackMap stack:
iload 23
iload 53
iadd
istore 54
start local 54 318: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.isTopDown:Z
ifne 320
319: iload 23
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
iadd
iload 53
isub
iconst_1
isub
istore 54
320: StackMap locals: int
StackMap stack:
aload 10
astore 55
start local 55 321: new java.awt.Rectangle
dup
iload 22
iload 17
imul
iload 19
iadd
322: iload 54
iload 18
imul
iload 20
iadd
323: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
iconst_1
isub
iload 17
imul
iconst_1
iadd
324: iconst_1
325: invokespecial java.awt.Rectangle.<init>:(IIII)V
326: astore 56
start local 56 327: iload 11
ifne 329
328: aload 9
aload 56
invokeinterface java.awt.image.RenderedImage.getData:(Ljava/awt/Rectangle;)Ljava/awt/image/Raster;
astore 55
329: StackMap locals: java.awt.image.Raster java.awt.Rectangle
StackMap stack:
iload 25
ifeq 402
iload 27
ifeq 402
330: aload 55
invokevirtual java.awt.image.Raster.getSampleModel:()Ljava/awt/image/SampleModel;
astore 57
start local 57 331: iconst_0
istore 58
start local 58 332: aload 56
getfield java.awt.Rectangle.x:I
aload 55
invokevirtual java.awt.image.Raster.getSampleModelTranslateX:()I
isub
istore 59
start local 59 333: aload 56
getfield java.awt.Rectangle.y:I
aload 55
invokevirtual java.awt.image.Raster.getSampleModelTranslateY:()I
isub
istore 60
start local 60 334: aload 57
instanceof java.awt.image.ComponentSampleModel
ifeq 344
335: aload 57
checkcast java.awt.image.ComponentSampleModel
astore 61
start local 61 336: aload 61
iload 59
iload 60
iconst_0
invokevirtual java.awt.image.ComponentSampleModel.getOffset:(III)I
istore 58
337: iconst_1
istore 62
start local 62 338: goto 342
339: StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int int int int int int int int int long int int[] int int[] int int int java.awt.image.Raster java.awt.Rectangle java.awt.image.SampleModel int int int java.awt.image.ComponentSampleModel int
StackMap stack:
iload 58
aload 61
iload 59
iload 60
iload 62
invokevirtual java.awt.image.ComponentSampleModel.getOffset:(III)I
if_icmple 341
340: aload 61
iload 59
iload 60
iload 62
invokevirtual java.awt.image.ComponentSampleModel.getOffset:(III)I
istore 58
341: StackMap locals:
StackMap stack:
iinc 62 1
StackMap locals:
StackMap stack:
342: iload 62
aload 61
invokevirtual java.awt.image.ComponentSampleModel.getNumBands:()I
if_icmplt 339
end local 62 end local 61 343: goto 353
StackMap locals:
StackMap stack:
344: aload 57
instanceof java.awt.image.MultiPixelPackedSampleModel
ifeq 349
345: aload 57
checkcast java.awt.image.MultiPixelPackedSampleModel
346: astore 61
start local 61 347: aload 61
iload 59
iload 60
invokevirtual java.awt.image.MultiPixelPackedSampleModel.getOffset:(II)I
istore 58
end local 61 348: goto 353
StackMap locals:
StackMap stack:
349: aload 57
instanceof java.awt.image.SinglePixelPackedSampleModel
ifeq 353
350: aload 57
checkcast java.awt.image.SinglePixelPackedSampleModel
351: astore 61
start local 61 352: aload 61
iload 59
iload 60
invokevirtual java.awt.image.SinglePixelPackedSampleModel.getOffset:(II)I
istore 58
end local 61 353: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
ifeq 354
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_3
if_icmpne 376
354: StackMap locals:
StackMap stack:
iload 21
tableswitch { // 0 - 3
0: 355
1: 363
2: 359
3: 367
default: 370
}
355: StackMap locals:
StackMap stack:
aload 55
invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
checkcast java.awt.image.DataBufferByte
invokevirtual java.awt.image.DataBufferByte.getData:()[B
356: astore 61
start local 61 357: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 61
iload 58
iload 52
invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
358: goto 370
end local 61 359: StackMap locals:
StackMap stack:
aload 55
invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
checkcast java.awt.image.DataBufferShort
invokevirtual java.awt.image.DataBufferShort.getData:()[S
360: astore 62
start local 62 361: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 62
iload 58
iload 52
invokeinterface javax.imageio.stream.ImageOutputStream.writeShorts:([SII)V
362: goto 370
end local 62 363: StackMap locals:
StackMap stack:
aload 55
invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
checkcast java.awt.image.DataBufferUShort
invokevirtual java.awt.image.DataBufferUShort.getData:()[S
364: astore 63
start local 63 365: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 63
iload 58
iload 52
invokeinterface javax.imageio.stream.ImageOutputStream.writeShorts:([SII)V
366: goto 370
end local 63 367: StackMap locals:
StackMap stack:
aload 55
invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
checkcast java.awt.image.DataBufferInt
invokevirtual java.awt.image.DataBufferInt.getData:()[I
368: astore 64
start local 64 369: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 64
iload 58
iload 52
invokeinterface javax.imageio.stream.ImageOutputStream.writeInts:([III)V
end local 64 370: StackMap locals:
StackMap stack:
iconst_0
istore 61
start local 61 371: goto 374
372: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
373: iinc 61 1
StackMap locals:
StackMap stack:
374: iload 61
iload 45
if_icmplt 372
end local 61 375: goto 421
StackMap locals:
StackMap stack:
376: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_2
if_icmpne 389
377: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
ifnull 378
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
arraylength
iload 48
if_icmpge 379
378: StackMap locals:
StackMap stack:
aload 0
iload 48
newarray 8
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
379: StackMap locals:
StackMap stack:
aload 55
aload 56
getfield java.awt.Rectangle.x:I
aload 56
getfield java.awt.Rectangle.y:I
380: aload 56
getfield java.awt.Rectangle.width:I
aload 56
getfield java.awt.Rectangle.height:I
aload 49
381: invokevirtual java.awt.image.Raster.getPixels:(IIII[I)[I
pop
382: iconst_0
istore 61
start local 61 383: goto 386
384: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 61
aload 49
iload 61
iaload
i2b
bastore
385: iinc 61 1
StackMap locals:
StackMap stack:
386: iload 61
iload 48
if_icmplt 384
end local 61 387: aload 0
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 48
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.encodeRLE4:([BI)V
388: goto 421
StackMap locals:
StackMap stack:
389: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_1
if_icmpne 421
390: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
ifnull 391
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
arraylength
iload 48
if_icmpge 392
391: StackMap locals:
StackMap stack:
aload 0
iload 48
newarray 8
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
392: StackMap locals:
StackMap stack:
aload 55
aload 56
getfield java.awt.Rectangle.x:I
aload 56
getfield java.awt.Rectangle.y:I
393: aload 56
getfield java.awt.Rectangle.width:I
aload 56
getfield java.awt.Rectangle.height:I
aload 49
394: invokevirtual java.awt.image.Raster.getPixels:(IIII[I)[I
pop
395: iconst_0
istore 61
start local 61 396: goto 399
397: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 61
aload 49
iload 61
iaload
i2b
bastore
398: iinc 61 1
StackMap locals:
StackMap stack:
399: iload 61
iload 48
if_icmplt 397
end local 61 400: aload 0
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 48
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.encodeRLE8:([BI)V
end local 60 end local 59 end local 58 end local 57 401: goto 421
402: StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int int int int int int int int int long int int[] int int[] int int int java.awt.image.Raster java.awt.Rectangle
StackMap stack:
aload 55
aload 56
getfield java.awt.Rectangle.x:I
aload 56
getfield java.awt.Rectangle.y:I
403: aload 56
getfield java.awt.Rectangle.width:I
aload 56
getfield java.awt.Rectangle.height:I
aload 49
404: invokevirtual java.awt.image.Raster.getPixels:(IIII[I)[I
pop
405: iload 17
iconst_1
if_icmpne 406
iload 50
iload 28
iconst_1
isub
if_icmpeq 418
406: StackMap locals:
StackMap stack:
iconst_0
istore 57
start local 57 407: iconst_0
istore 58
start local 58 408: iconst_0
istore 59
start local 59 409: goto 417
410: StackMap locals: int int int
StackMap stack:
aload 49
iload 58
aload 51
iconst_0
aload 51
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
411: iconst_0
istore 60
start local 60 412: goto 415
413: StackMap locals: int
StackMap stack:
aload 49
iload 59
iload 60
iadd
aload 51
aload 26
iload 60
iaload
iaload
iastore
414: iinc 60 1
StackMap locals:
StackMap stack:
415: iload 60
iload 28
if_icmplt 413
end local 60 416: iinc 57 1
iload 58
iload 17
iload 28
imul
iadd
istore 58
iload 59
iload 28
iadd
istore 59
417: StackMap locals:
StackMap stack:
iload 57
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
if_icmplt 410
end local 59 end local 58 end local 57 418: StackMap locals:
StackMap stack:
aload 0
iconst_0
iload 48
iload 5
aload 49
419: iload 45
iload 28
aload 8
420: invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writePixels:(III[IIILjava/awt/image/IndexColorModel;)V
421: StackMap locals:
StackMap stack:
aload 0
ldc 100.0
iload 53
i2f
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
i2f
fdiv
fmul
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processImageProgress:(F)V
end local 56 end local 55 end local 54 422: iinc 53 1
StackMap locals:
StackMap stack:
423: iload 53
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
if_icmplt 315
end local 53 424: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_2
if_icmpeq 426
425: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_1
if_icmpne 437
426: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
427: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_1
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
428: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
429: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
istore 40
430: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
iload 38
iadd
istore 37
431: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
lstore 53
start local 53 432: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
lload 46
invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
433: aload 0
iload 37
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeSize:(II)V
434: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
lload 46
invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
435: aload 0
iload 40
bipush 34
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeSize:(II)V
436: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
lload 53
invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
end local 53 437: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.abortRequested:()Z
ifeq 440
438: aload 0
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processWriteAborted:()V
439: goto 442
440: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processImageComplete:()V
441: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
invokeinterface javax.imageio.stream.ImageOutputStream.flushBefore:(J)V
442: StackMap locals:
StackMap stack:
return
end local 52 end local 51 end local 50 end local 49 end local 48 end local 46 end local 45 end local 44 end local 43 end local 42 end local 41 end local 40 end local 39 end local 38 end local 37 end local 36 end local 35 end local 34 end local 33 end local 32 end local 31 end local 30 end local 29 end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 443 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 443 1 streamMetadata Ljavax/imageio/metadata/IIOMetadata;
0 443 2 image Ljavax/imageio/IIOImage;
0 443 3 param Ljavax/imageio/ImageWriteParam;
9 443 4 bmpParam Ljavax/imageio/plugins/bmp/BMPImageWriteParam;
10 443 5 bitsPerPixel I
11 443 6 isPalette Z
12 443 7 paletteEntries I
13 443 8 icm Ljava/awt/image/IndexColorModel;
14 443 9 input Ljava/awt/image/RenderedImage;
15 443 10 inputRaster Ljava/awt/image/Raster;
16 443 11 writeRaster Z
17 443 12 sourceRegion Ljava/awt/Rectangle;
18 443 13 sampleModel Ljava/awt/image/SampleModel;
19 443 14 colorModel Ljava/awt/image/ColorModel;
34 37 15 rect Ljava/awt/Rectangle;
38 443 15 imageMetadata Ljavax/imageio/metadata/IIOMetadata;
39 443 16 bmpImageMetadata Lcom/sun/imageio/plugins/bmp/BMPMetadata;
45 48 17 imageType Ljavax/imageio/ImageTypeSpecifier;
51 443 17 scaleX I
52 443 18 scaleY I
53 443 19 xOffset I
54 443 20 yOffset I
55 443 21 dataType I
59 443 22 minX I
60 443 23 minY I
65 443 24 destinationRegion Ljava/awt/Rectangle;
66 443 25 noTransform Z
67 443 26 sourceBands [I
68 443 27 noSubband Z
69 443 28 numBands I
77 81 29 i I
82 443 29 bandOffsets [I
83 443 30 bgrOrder Z
89 95 31 i I
98 105 31 bitOffsets [I
99 105 32 i I
108 112 31 i I
114 443 31 sampleSize [I
115 443 32 destScanlineBytes I
128 443 33 r [B
129 443 34 g [B
130 443 35 b [B
131 443 36 a [B
145 171 37 rmask I
146 171 38 gmask I
147 171 39 bmask I
150 153 40 dcm Ljava/awt/image/DirectColorModel;
211 218 37 i I
222 232 37 sample_sizes [I
225 226 38 size I
233 443 37 fileSize I
234 443 38 offset I
235 443 39 headerSize I
236 443 40 imageSize I
237 443 41 xPelsPerMeter I
238 443 42 yPelsPerMeter I
239 443 43 colorsUsed I
240 443 44 colorsImportant I
241 443 45 padding I
248 443 46 headPos J
264 269 48 i I
266 267 49 mask I
271 278 48 i I
279 443 48 scanlineBytes I
280 443 49 pixels [I
288 302 50 endPos J
303 443 50 maxBandOffset I
304 309 51 i I
310 443 51 pixel [I
311 443 52 destScanlineLength I
314 424 53 i I
318 422 54 row I
321 422 55 src Ljava/awt/image/Raster;
327 422 56 srcRect Ljava/awt/Rectangle;
331 401 57 sm Ljava/awt/image/SampleModel;
332 401 58 pos I
333 401 59 startX I
334 401 60 startY I
336 343 61 csm Ljava/awt/image/ComponentSampleModel;
338 343 62 nb I
347 348 61 mppsm Ljava/awt/image/MultiPixelPackedSampleModel;
352 353 61 sppsm Ljava/awt/image/SinglePixelPackedSampleModel;
357 359 61 bdata [B
361 363 62 sdata [S
365 367 63 usdata [S
369 370 64 idata [I
371 375 61 k I
383 387 61 h I
396 400 61 h I
407 418 57 j I
408 418 58 k I
409 418 59 n I
412 416 60 m I
432 437 53 endPos J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
streamMetadata
image
param
private void writePixels(int, int, int, int[], int, int, java.awt.image.IndexColorModel);
descriptor: (III[IIILjava/awt/image/IndexColorModel;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=16, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: iconst_0
istore 8
start local 8 1: iconst_0
istore 9
start local 9 2: iload 3
lookupswitch { // 6
1: 3
4: 26
8: 46
16: 61
24: 88
32: 117
default: 155
}
3: StackMap locals: int int
StackMap stack:
iconst_0
istore 10
start local 10 4: goto 15
5: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 9
iinc 9 1
aload 4
iload 1
iinc 1 1
iaload
bipush 7
ishl
6: aload 4
iload 1
iinc 1 1
iaload
bipush 6
ishl
ior
7: aload 4
iload 1
iinc 1 1
iaload
iconst_5
ishl
ior
8: aload 4
iload 1
iinc 1 1
iaload
iconst_4
ishl
ior
9: aload 4
iload 1
iinc 1 1
iaload
iconst_3
ishl
ior
10: aload 4
iload 1
iinc 1 1
iaload
iconst_2
ishl
ior
11: aload 4
iload 1
iinc 1 1
iaload
iconst_1
ishl
ior
12: aload 4
iload 1
iinc 1 1
iaload
ior
i2b
13: bastore
14: iinc 10 1
StackMap locals:
StackMap stack:
15: iload 10
iload 2
bipush 8
idiv
if_icmplt 5
end local 10 16: iload 2
bipush 8
irem
ifle 24
17: iconst_0
istore 8
18: iconst_0
istore 10
start local 10 19: goto 22
20: StackMap locals:
StackMap stack:
iload 8
aload 4
iload 1
iinc 1 1
iaload
bipush 7
iload 10
isub
ishl
ior
istore 8
21: iinc 10 1
StackMap locals:
StackMap stack:
22: iload 10
iload 2
bipush 8
irem
if_icmplt 20
end local 10 23: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 9
iinc 9 1
iload 8
i2b
bastore
24: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iconst_0
iload 2
bipush 7
iadd
bipush 8
idiv
invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
25: goto 155
26: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_2
if_icmpne 35
27: iload 2
newarray 8
astore 10
start local 10 28: iconst_0
istore 11
start local 11 29: goto 32
30: StackMap locals: byte[] int
StackMap stack:
aload 10
iload 11
aload 4
iload 1
iinc 1 1
iaload
i2b
bastore
31: iinc 11 1
StackMap locals:
StackMap stack:
32: iload 11
iload 2
if_icmplt 30
end local 11 33: aload 0
aload 10
iload 2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.encodeRLE4:([BI)V
end local 10 34: goto 155
35: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 36: goto 40
37: StackMap locals: int
StackMap stack:
aload 4
iload 1
iinc 1 1
iaload
iconst_4
ishl
aload 4
iload 1
iinc 1 1
iaload
ior
istore 8
38: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 9
iinc 9 1
iload 8
i2b
bastore
39: iinc 10 1
StackMap locals:
StackMap stack:
40: iload 10
iload 2
iconst_2
idiv
if_icmplt 37
end local 10 41: iload 2
iconst_2
irem
iconst_1
if_icmpne 44
42: aload 4
iload 1
iaload
iconst_4
ishl
istore 8
43: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 9
iinc 9 1
iload 8
i2b
bastore
44: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iconst_0
iload 2
iconst_1
iadd
iconst_2
idiv
invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
45: goto 155
46: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_1
if_icmpne 54
47: iconst_0
istore 10
start local 10 48: goto 51
49: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 10
aload 4
iload 1
iinc 1 1
iaload
i2b
bastore
50: iinc 10 1
StackMap locals:
StackMap stack:
51: iload 10
iload 2
if_icmplt 49
end local 10 52: aload 0
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.encodeRLE8:([BI)V
53: goto 155
54: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 55: goto 58
56: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 10
aload 4
iload 1
iinc 1 1
iaload
i2b
bastore
57: iinc 10 1
StackMap locals:
StackMap stack:
58: iload 10
iload 2
if_icmplt 56
end local 10 59: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iconst_0
iload 2
invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
60: goto 155
61: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
ifnonnull 63
62: aload 0
iload 2
iload 6
idiv
newarray 9
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
63: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 64: iconst_0
istore 11
start local 11 65: goto 85
66: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
iload 11
iconst_0
sastore
67: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
ifne 77
68: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
iload 11
69: bipush 31
aload 4
iload 10
iaload
iand
bipush 10
ishl
70: bipush 31
aload 4
iload 10
iconst_1
iadd
iaload
iand
iconst_5
ishl
71: ior
72: bipush 31
aload 4
iload 10
iconst_2
iadd
iaload
iand
73: ior
i2s
74: sastore
75: iinc 10 3
76: goto 84
77: StackMap locals:
StackMap stack:
iconst_0
istore 12
start local 12 78: goto 83
79: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
iload 11
dup2
saload
80: aload 4
iload 10
iaload
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
iload 12
iaload
ishl
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
iload 12
iaload
iand
81: ior
i2s
sastore
82: iinc 12 1
iinc 10 1
StackMap locals:
StackMap stack:
83: iload 12
iload 6
if_icmplt 79
end local 12 84: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
85: iload 10
iload 2
if_icmplt 66
end local 11 end local 10 86: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
iconst_0
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
arraylength
invokeinterface javax.imageio.stream.ImageOutputStream.writeShorts:([SII)V
87: goto 155
88: StackMap locals:
StackMap stack:
iload 6
iconst_3
if_icmpne 99
89: iconst_0
istore 10
start local 10 90: goto 96
91: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 9
iinc 9 1
aload 4
iload 1
iconst_2
iadd
iaload
i2b
bastore
92: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 9
iinc 9 1
aload 4
iload 1
iconst_1
iadd
iaload
i2b
bastore
93: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 9
iinc 9 1
aload 4
iload 1
iaload
i2b
bastore
94: iinc 1 3
95: iinc 10 3
StackMap locals:
StackMap stack:
96: iload 10
iload 2
if_icmplt 91
end local 10 97: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iconst_0
iload 2
invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
98: goto 155
99: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.awt.image.IndexColorModel.getMapSize:()I
istore 10
start local 10 100: iload 10
newarray 8
astore 11
start local 11 101: iload 10
newarray 8
astore 12
start local 12 102: iload 10
newarray 8
astore 13
start local 13 103: aload 7
aload 11
invokevirtual java.awt.image.IndexColorModel.getReds:([B)V
104: aload 7
aload 12
invokevirtual java.awt.image.IndexColorModel.getGreens:([B)V
105: aload 7
aload 13
invokevirtual java.awt.image.IndexColorModel.getBlues:([B)V
106: iconst_0
istore 15
start local 15 107: goto 114
108: StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int int int int[] int int java.awt.image.IndexColorModel int int int byte[] byte[] byte[] top int
StackMap stack:
aload 4
iload 1
iaload
istore 14
start local 14 109: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 9
iinc 9 1
aload 13
iload 14
baload
bastore
110: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 9
iinc 9 1
aload 12
iload 14
baload
bastore
111: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iload 9
iinc 9 1
aload 13
iload 14
baload
bastore
112: iinc 1 1
113: iinc 15 1
end local 14 StackMap locals:
StackMap stack:
114: iload 15
iload 2
if_icmplt 108
end local 15 115: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
iconst_0
iload 2
iconst_3
imul
invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
end local 13 end local 12 end local 11 end local 10 116: goto 155
117: StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int int int int[] int int java.awt.image.IndexColorModel int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
ifnonnull 119
118: aload 0
iload 2
iload 6
idiv
newarray 10
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
119: StackMap locals:
StackMap stack:
iload 6
iconst_3
if_icmpne 144
120: iconst_0
istore 10
start local 10 121: iconst_0
istore 11
start local 11 122: goto 142
123: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
iload 11
iconst_0
iastore
124: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
ifne 134
125: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
iload 11
126: sipush 255
aload 4
iload 10
iconst_2
iadd
iaload
iand
bipush 16
ishl
127: sipush 255
aload 4
iload 10
iconst_1
iadd
iaload
iand
bipush 8
ishl
128: ior
129: sipush 255
aload 4
iload 10
iaload
iand
130: ior
131: iastore
132: iinc 10 3
133: goto 141
134: StackMap locals:
StackMap stack:
iconst_0
istore 12
start local 12 135: goto 140
136: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
iload 11
dup2
iaload
137: aload 4
iload 10
iaload
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
iload 12
iaload
ishl
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
iload 12
iaload
iand
138: ior
iastore
139: iinc 12 1
iinc 10 1
StackMap locals:
StackMap stack:
140: iload 12
iload 6
if_icmplt 136
end local 12 141: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
142: iload 10
iload 2
if_icmplt 123
end local 11 end local 10 143: goto 154
144: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 145: goto 153
146: StackMap locals: int
StackMap stack:
aload 7
ifnull 149
147: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
iload 10
aload 7
aload 4
iload 10
iaload
invokevirtual java.awt.image.IndexColorModel.getRGB:(I)I
iastore
148: goto 152
149: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
iload 10
150: aload 4
iload 10
iaload
bipush 16
ishl
aload 4
iload 10
iaload
bipush 8
ishl
ior
aload 4
iload 10
iaload
ior
151: iastore
152: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
153: iload 10
iload 2
if_icmplt 146
end local 10 154: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
iconst_0
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
arraylength
invokeinterface javax.imageio.stream.ImageOutputStream.writeInts:([III)V
155: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
ifeq 157
156: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_3
if_icmpne 161
157: StackMap locals:
StackMap stack:
iconst_0
istore 9
goto 160
158: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
159: iinc 9 1
StackMap locals:
StackMap stack:
160: iload 9
iload 5
if_icmplt 158
161: StackMap locals:
StackMap stack:
return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 162 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 162 1 l I
0 162 2 scanlineBytes I
0 162 3 bitsPerPixel I
0 162 4 pixels [I
0 162 5 padding I
0 162 6 numBands I
0 162 7 icm Ljava/awt/image/IndexColorModel;
1 162 8 pixel I
2 162 9 k I
4 16 10 j I
19 23 10 j I
28 34 10 bipixels [B
29 33 11 h I
36 41 10 j I
48 52 10 h I
55 59 10 j I
64 86 10 j I
65 86 11 m I
78 84 12 i I
90 97 10 j I
100 116 10 entries I
101 116 11 r [B
102 116 12 g [B
103 116 13 b [B
109 114 14 index I
107 115 15 j I
121 143 10 j I
122 143 11 m I
135 141 12 i I
145 154 10 j I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
l
scanlineBytes
bitsPerPixel
pixels
padding
numBands
icm
private void encodeRLE8(byte[], int);
descriptor: ([BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
istore 3
start local 3 1: iconst_m1
istore 4
start local 4 2: iconst_m1
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: iconst_0
istore 7
start local 7 5: aload 1
iinc 5 1
iload 5
baload
istore 6
6: sipush 256
newarray 8
astore 8
start local 8 7: goto 98
8: StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter byte[] int int int int int int byte[]
StackMap stack:
aload 1
iinc 5 1
iload 5
baload
istore 7
9: iload 7
iload 6
if_icmpne 40
10: iload 4
iconst_3
if_icmplt 24
11: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
12: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 4
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
13: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
14: iconst_0
istore 9
start local 9 15: goto 19
16: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 8
iload 9
baload
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
17: aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
18: iinc 9 1
StackMap locals:
StackMap stack:
19: iload 9
iload 4
if_icmplt 16
end local 9 20: aload 0
iload 4
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
ifne 32
21: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
22: aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
23: goto 32
24: StackMap locals:
StackMap stack:
iload 4
iconst_m1
if_icmple 32
25: iconst_0
istore 9
start local 9 26: goto 31
27: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_1
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
28: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 8
iload 9
baload
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
29: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
30: iinc 9 1
StackMap locals:
StackMap stack:
31: iload 9
iload 4
if_icmplt 27
end local 9 32: StackMap locals:
StackMap stack:
iconst_m1
istore 4
33: iinc 3 1
34: iload 3
sipush 256
if_icmpne 66
35: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 3
iconst_1
isub
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
36: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 6
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
37: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
38: iconst_1
istore 3
39: goto 66
40: StackMap locals:
StackMap stack:
iload 3
iconst_1
if_icmple 45
41: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 3
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
42: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 6
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
43: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
44: goto 64
StackMap locals:
StackMap stack:
45: iload 4
ifge 49
46: aload 8
iinc 4 1
iload 4
iload 6
bastore
47: aload 8
iinc 4 1
iload 4
iload 7
bastore
48: goto 64
StackMap locals:
StackMap stack:
49: iload 4
sipush 254
if_icmpge 52
50: aload 8
iinc 4 1
iload 4
iload 7
bastore
51: goto 64
52: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
53: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 4
iconst_1
iadd
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
54: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
55: iconst_0
istore 9
start local 9 56: goto 60
57: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 8
iload 9
baload
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
58: aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
59: iinc 9 1
StackMap locals:
StackMap stack:
60: iload 9
iload 4
if_icmple 57
end local 9 61: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
62: aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
63: iconst_m1
istore 4
64: StackMap locals:
StackMap stack:
iload 7
istore 6
65: iconst_1
istore 3
66: StackMap locals:
StackMap stack:
iload 5
iload 2
iconst_1
isub
if_icmpne 98
67: iload 4
iconst_m1
if_icmpne 73
68: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 3
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
69: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 6
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
70: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
71: iconst_1
istore 3
72: goto 95
73: StackMap locals:
StackMap stack:
iload 4
iconst_2
if_icmplt 87
74: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
75: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 4
iconst_1
iadd
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
76: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
77: iconst_0
istore 9
start local 9 78: goto 82
79: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 8
iload 9
baload
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
80: aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
81: iinc 9 1
StackMap locals:
StackMap stack:
82: iload 9
iload 4
if_icmple 79
end local 9 83: aload 0
iload 4
iconst_1
iadd
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
ifne 95
84: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
85: aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
86: goto 95
87: StackMap locals:
StackMap stack:
iload 4
iconst_m1
if_icmple 95
88: iconst_0
istore 9
start local 9 89: goto 94
90: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_1
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
91: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 8
iload 9
baload
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
92: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
93: iinc 9 1
StackMap locals:
StackMap stack:
94: iload 9
iload 4
if_icmple 90
end local 9 95: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
96: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
97: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
98: StackMap locals:
StackMap stack:
iload 5
iload 2
iconst_1
isub
if_icmplt 8
99: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 100 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 100 1 bpixels [B
0 100 2 scanlineBytes I
1 100 3 runCount I
2 100 4 absVal I
3 100 5 j I
4 100 6 runVal B
5 100 7 nextVal B
7 100 8 absBuf [B
15 20 9 a I
26 32 9 b I
56 61 9 a I
78 83 9 a I
89 95 9 b I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
bpixels
scanlineBytes
private void encodeRLE4(byte[], int);
descriptor: ([BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=14, args_size=3
start local 0 start local 1 start local 2 0: iconst_2
istore 3
start local 3 1: iconst_m1
istore 4
start local 4 2: iconst_m1
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: iconst_0
istore 7
start local 7 5: iconst_0
istore 8
start local 8 6: iconst_0
istore 9
start local 9 7: iconst_0
istore 10
start local 10 8: iconst_0
istore 11
start local 11 9: sipush 256
newarray 8
astore 12
start local 12 10: aload 1
iinc 5 1
iload 5
baload
istore 8
11: aload 1
iinc 5 1
iload 5
baload
istore 9
12: goto 166
13: StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter byte[] int int int int int int int int int int byte[]
StackMap stack:
aload 1
iinc 5 1
iload 5
baload
istore 10
14: aload 1
iinc 5 1
iload 5
baload
istore 11
15: iload 10
iload 8
if_icmpne 75
16: iload 4
iconst_4
if_icmplt 35
17: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
18: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 4
iconst_1
isub
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
19: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
20: iconst_0
istore 13
start local 13 21: goto 26
22: StackMap locals: int
StackMap stack:
aload 12
iload 13
baload
iconst_4
ishl
aload 12
iload 13
iconst_1
iadd
baload
ior
istore 6
23: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 6
i2b
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
24: aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
25: iinc 13 2
StackMap locals:
StackMap stack:
26: iload 13
iload 4
iconst_2
isub
if_icmplt 22
end local 13 27: aload 0
iload 4
iconst_1
isub
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
ifne 31
28: aload 12
iload 4
iconst_2
isub
baload
iconst_4
ishl
istore 7
29: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 7
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
30: aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
31: StackMap locals:
StackMap stack:
aload 0
iload 4
iconst_1
isub
iconst_2
idiv
i2d
invokestatic java.lang.Math.ceil:(D)D
d2i
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
ifne 40
32: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
33: aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
34: goto 40
StackMap locals:
StackMap stack:
35: iload 4
iconst_m1
if_icmple 40
36: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_2
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
37: aload 12
iconst_0
baload
iconst_4
ishl
aload 12
iconst_1
baload
ior
istore 6
38: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 6
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
39: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
40: StackMap locals:
StackMap stack:
iconst_m1
istore 4
41: iload 11
iload 9
if_icmpne 59
42: iinc 3 2
43: iload 3
sipush 256
if_icmpne 107
44: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 3
iconst_1
isub
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
45: iload 8
iconst_4
ishl
iload 9
ior
istore 6
46: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 6
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
47: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
48: iconst_2
istore 3
49: iload 5
iload 2
iconst_1
isub
if_icmpge 53
50: iload 9
istore 8
51: aload 1
iinc 5 1
iload 5
baload
istore 9
52: goto 107
53: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_1
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
54: iload 9
iconst_4
ishl
istore 13
start local 13 55: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 13
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
56: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
57: iconst_m1
istore 3
end local 13 58: goto 107
59: StackMap locals:
StackMap stack:
iinc 3 1
60: iload 8
iconst_4
ishl
iload 9
ior
istore 6
61: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 3
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
62: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 6
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
63: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
64: iconst_2
istore 3
65: iload 11
istore 8
66: iload 5
iload 2
iconst_1
isub
if_icmpge 69
67: aload 1
iinc 5 1
iload 5
baload
istore 9
68: goto 107
69: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_1
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
70: iload 11
iconst_4
ishl
istore 13
start local 13 71: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 13
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
72: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
73: iconst_m1
istore 3
end local 13 74: goto 107
75: StackMap locals:
StackMap stack:
iload 3
iconst_2
if_icmple 81
76: iload 8
iconst_4
ishl
iload 9
ior
istore 6
77: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 3
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
78: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 6
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
79: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
80: goto 104
StackMap locals:
StackMap stack:
81: iload 4
ifge 87
82: aload 12
iinc 4 1
iload 4
iload 8
bastore
83: aload 12
iinc 4 1
iload 4
iload 9
bastore
84: aload 12
iinc 4 1
iload 4
iload 10
bastore
85: aload 12
iinc 4 1
iload 4
iload 11
bastore
86: goto 104
StackMap locals:
StackMap stack:
87: iload 4
sipush 253
if_icmpge 91
88: aload 12
iinc 4 1
iload 4
iload 10
bastore
89: aload 12
iinc 4 1
iload 4
iload 11
bastore
90: goto 104
91: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
92: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 4
iconst_1
iadd
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
93: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
94: iconst_0
istore 13
start local 13 95: goto 100
96: StackMap locals: int
StackMap stack:
aload 12
iload 13
baload
iconst_4
ishl
aload 12
iload 13
iconst_1
iadd
baload
ior
istore 6
97: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 6
i2b
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
98: aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
99: iinc 13 2
StackMap locals:
StackMap stack:
100: iload 13
iload 4
if_icmplt 96
end local 13 101: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
102: aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
103: iconst_m1
istore 4
104: StackMap locals:
StackMap stack:
iload 10
istore 8
105: iload 11
istore 9
106: iconst_2
istore 3
107: StackMap locals:
StackMap stack:
iload 5
iload 2
iconst_2
isub
if_icmplt 166
108: iload 4
iconst_m1
if_icmpne 131
iload 3
iconst_2
if_icmplt 131
109: iload 5
iload 2
iconst_2
isub
if_icmpne 126
110: aload 1
iinc 5 1
iload 5
baload
iload 8
if_icmpne 117
111: iinc 3 1
112: iload 8
iconst_4
ishl
iload 9
ior
istore 6
113: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 3
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
114: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 6
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
115: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
116: goto 163
117: StackMap locals:
StackMap stack:
iload 8
iconst_4
ishl
iload 9
ior
istore 6
118: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 3
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
119: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 6
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
120: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_1
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
121: aload 1
iload 5
baload
iconst_4
ishl
istore 6
122: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 6
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
123: aload 1
iload 5
baload
pop
124: aload 0
iconst_4
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
125: goto 163
126: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 3
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
127: iload 8
iconst_4
ishl
iload 9
ior
istore 6
128: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 6
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
129: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
130: goto 163
StackMap locals:
StackMap stack:
131: iload 4
iconst_m1
if_icmple 163
132: iload 5
iload 2
iconst_2
isub
if_icmpne 134
133: aload 12
iinc 4 1
iload 4
aload 1
iinc 5 1
iload 5
baload
bastore
134: StackMap locals:
StackMap stack:
iload 4
iconst_2
if_icmplt 153
135: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
136: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 4
iconst_1
iadd
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
137: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
138: iconst_0
istore 13
start local 13 139: goto 144
140: StackMap locals: int
StackMap stack:
aload 12
iload 13
baload
iconst_4
ishl
aload 12
iload 13
iconst_1
iadd
baload
ior
istore 6
141: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 6
i2b
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
142: aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
143: iinc 13 2
StackMap locals:
StackMap stack:
144: iload 13
iload 4
if_icmplt 140
end local 13 145: aload 0
iload 4
iconst_1
iadd
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
ifne 149
146: aload 12
iload 4
baload
iconst_4
ishl
istore 7
147: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 7
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
148: aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
149: StackMap locals:
StackMap stack:
aload 0
iload 4
iconst_1
iadd
iconst_2
idiv
i2d
invokestatic java.lang.Math.ceil:(D)D
d2i
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
ifne 163
150: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
151: aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
152: goto 163
153: StackMap locals:
StackMap stack:
iload 4
tableswitch { // 0 - 1
0: 154
1: 159
default: 163
}
154: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_1
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
155: aload 12
iconst_0
baload
iconst_4
ishl
istore 13
start local 13 156: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 13
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
157: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
158: goto 163
end local 13 159: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_2
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
160: aload 12
iconst_0
baload
iconst_4
ishl
aload 12
iconst_1
baload
ior
istore 6
161: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 6
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
162: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
163: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
164: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
165: aload 0
iconst_2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
166: StackMap locals:
StackMap stack:
iload 5
iload 2
iconst_2
isub
if_icmplt 13
167: return
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 168 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 168 1 bipixels [B
0 168 2 scanlineBytes I
1 168 3 runCount I
2 168 4 absVal I
3 168 5 j I
4 168 6 pixel I
5 168 7 q I
6 168 8 runVal1 B
7 168 9 runVal2 B
8 168 10 nextVal1 B
9 168 11 nextVal2 B
10 168 12 absBuf [B
21 27 13 a I
55 58 13 r I
71 74 13 r I
95 101 13 a I
139 145 13 a I
156 159 13 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
bipixels
scanlineBytes
private synchronized void incCompImageSize(int);
descriptor: (I)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
iload 1
iadd
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 2 1 value I
MethodParameters:
Name Flags
value
private boolean isEven(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_2
irem
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 3 1 number I
MethodParameters:
Name Flags
number
private void (int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
bipush 66
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
1: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
bipush 77
invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
2: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 1
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
3: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_0
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
4: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 2
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 6 1 fileSize I
0 6 2 offset I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fileSize
offset
private void (int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 1
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
1: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
2: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.isTopDown:Z
ifeq 3
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
ineg
goto 4
StackMap locals:
StackMap stack: javax.imageio.stream.ImageOutputStream
3: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int int
StackMap stack: javax.imageio.stream.ImageOutputStream int
4: invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
5: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iconst_1
invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
6: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 2
invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 8 1 headerSize I
0 8 2 bitsPerPixel I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
headerSize
bitsPerPixel
private void writeSize(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 2
invokeinterface javax.imageio.stream.ImageOutputStream.skipBytes:(I)I
pop
1: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
iload 1
invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 3 1 dword I
0 3 2 offset I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dword
offset
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial javax.imageio.ImageWriter.reset:()V
1: aload 0
aconst_null
putfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
private int getCompressionType(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
getstatic com.sun.imageio.plugins.bmp.BMPConstants.compressionTypeNames:[Ljava/lang/String;
iload 2
aaload
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: iload 2
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
getstatic com.sun.imageio.plugins.bmp.BMPConstants.compressionTypeNames:[Ljava/lang/String;
arraylength
if_icmplt 2
end local 2 6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 7 1 typeString Ljava/lang/String;
1 6 2 i I
MethodParameters:
Name Flags
typeString
private void writeEmbedded(javax.imageio.IIOImage, javax.imageio.ImageWriteParam);
descriptor: (Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_4
if_icmpne 1
ldc "jpeg"
goto 2
StackMap locals:
StackMap stack:
1: ldc "png"
2: StackMap locals:
StackMap stack: java.lang.String
astore 3
start local 3 3: aload 3
invokestatic javax.imageio.ImageIO.getImageWritersByFormatName:(Ljava/lang/String;)Ljava/util/Iterator;
astore 4
start local 4 4: aconst_null
astore 5
start local 5 5: aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 7
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.imageio.ImageWriter
astore 5
7: StackMap locals: java.lang.String java.util.Iterator javax.imageio.ImageWriter
StackMap stack:
aload 5
ifnull 24
8: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
ifnonnull 10
9: new java.lang.RuntimeException
dup
ldc "No stream for writing embedded image!"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 5
new com.sun.imageio.plugins.bmp.BMPImageWriter$1
dup
aload 0
aload 0
invokespecial com.sun.imageio.plugins.bmp.BMPImageWriter$1.<init>:(Lcom/sun/imageio/plugins/bmp/BMPImageWriter;Lcom/sun/imageio/plugins/bmp/BMPImageWriter;)V
invokevirtual javax.imageio.ImageWriter.addIIOWriteProgressListener:(Ljavax/imageio/event/IIOWriteProgressListener;)V
11: aload 5
new com.sun.imageio.plugins.bmp.BMPImageWriter$2
dup
aload 0
invokespecial com.sun.imageio.plugins.bmp.BMPImageWriter$2.<init>:(Lcom/sun/imageio/plugins/bmp/BMPImageWriter;)V
invokevirtual javax.imageio.ImageWriter.addIIOWriteWarningListener:(Ljavax/imageio/event/IIOWriteWarningListener;)V
12: aload 5
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
invokestatic javax.imageio.ImageIO.createImageOutputStream:(Ljava/lang/Object;)Ljavax/imageio/stream/ImageOutputStream;
invokevirtual javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
13: aload 5
invokevirtual javax.imageio.ImageWriter.getDefaultWriteParam:()Ljavax/imageio/ImageWriteParam;
astore 6
start local 6 14: aload 6
aload 2
invokevirtual javax.imageio.ImageWriteParam.getDestinationOffset:()Ljava/awt/Point;
invokevirtual javax.imageio.ImageWriteParam.setDestinationOffset:(Ljava/awt/Point;)V
15: aload 6
aload 2
invokevirtual javax.imageio.ImageWriteParam.getSourceBands:()[I
invokevirtual javax.imageio.ImageWriteParam.setSourceBands:([I)V
16: aload 6
aload 2
invokevirtual javax.imageio.ImageWriteParam.getSourceRegion:()Ljava/awt/Rectangle;
invokevirtual javax.imageio.ImageWriteParam.setSourceRegion:(Ljava/awt/Rectangle;)V
17: aload 6
aload 2
invokevirtual javax.imageio.ImageWriteParam.getSourceXSubsampling:()I
18: aload 2
invokevirtual javax.imageio.ImageWriteParam.getSourceYSubsampling:()I
19: aload 2
invokevirtual javax.imageio.ImageWriteParam.getSubsamplingXOffset:()I
20: aload 2
invokevirtual javax.imageio.ImageWriteParam.getSubsamplingYOffset:()I
21: invokevirtual javax.imageio.ImageWriteParam.setSourceSubsampling:(IIII)V
22: aload 5
aconst_null
aload 1
aload 6
invokevirtual javax.imageio.ImageWriter.write:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
end local 6 23: goto 25
24: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "BMPImageWrite5"
invokestatic com.sun.imageio.plugins.common.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 26 1 image Ljavax/imageio/IIOImage;
0 26 2 bmpParam Ljavax/imageio/ImageWriteParam;
3 26 3 format Ljava/lang/String;
4 26 4 iterator Ljava/util/Iterator;
5 26 5 writer Ljavax/imageio/ImageWriter;
14 23 6 param Ljavax/imageio/ImageWriteParam;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
image
bmpParam
private int firstLowBit(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 4
2: StackMap locals: int
StackMap stack:
iinc 2 1
3: iload 1
iconst_1
iushr
istore 1
4: StackMap locals:
StackMap stack:
iload 1
iconst_1
iand
ifeq 2
5: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 6 1 num I
1 6 2 count I
MethodParameters:
Name Flags
num
protected int getPreferredCompressionType(java.awt.image.ColorModel, java.awt.image.SampleModel);
descriptor: (Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new javax.imageio.ImageTypeSpecifier
dup
aload 1
aload 2
invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)V
astore 3
start local 3 1: aload 0
aload 3
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getPreferredCompressionType:(Ljavax/imageio/ImageTypeSpecifier;)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 2 1 cm Ljava/awt/image/ColorModel;
0 2 2 sm Ljava/awt/image/SampleModel;
1 2 3 imageType Ljavax/imageio/ImageTypeSpecifier;
MethodParameters:
Name Flags
cm
sm
protected int getPreferredCompressionType(javax.imageio.ImageTypeSpecifier);
descriptor: (Ljavax/imageio/ImageTypeSpecifier;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javax.imageio.ImageTypeSpecifier.getBufferedImageType:()I
bipush 8
if_icmpne 2
1: iconst_3
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 3 1 imageType Ljavax/imageio/ImageTypeSpecifier;
MethodParameters:
Name Flags
imageType
protected boolean canEncodeImage(int, java.awt.image.ColorModel, java.awt.image.SampleModel);
descriptor: (ILjava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new javax.imageio.ImageTypeSpecifier
dup
aload 2
aload 3
invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)V
astore 4
start local 4 1: aload 0
iload 1
aload 4
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.canEncodeImage:(ILjavax/imageio/ImageTypeSpecifier;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 2 1 compression I
0 2 2 cm Ljava/awt/image/ColorModel;
0 2 3 sm Ljava/awt/image/SampleModel;
1 2 4 imgType Ljavax/imageio/ImageTypeSpecifier;
MethodParameters:
Name Flags
compression
cm
sm
protected boolean canEncodeImage(int, javax.imageio.ImageTypeSpecifier);
descriptor: (ILjavax/imageio/ImageTypeSpecifier;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getOriginatingProvider:()Ljavax/imageio/spi/ImageWriterSpi;
astore 3
start local 3 1: aload 3
aload 2
invokevirtual javax.imageio.spi.ImageWriterSpi.canEncodeImage:(Ljavax/imageio/ImageTypeSpecifier;)Z
ifne 3
2: iconst_0
ireturn
3: StackMap locals: javax.imageio.spi.ImageWriterSpi
StackMap stack:
aload 2
invokevirtual javax.imageio.ImageTypeSpecifier.getBufferedImageType:()I
pop
4: aload 2
invokevirtual javax.imageio.ImageTypeSpecifier.getColorModel:()Ljava/awt/image/ColorModel;
invokevirtual java.awt.image.ColorModel.getPixelSize:()I
istore 4
start local 4 5: aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_2
if_icmpne 7
iload 4
iconst_4
if_icmpeq 7
6: iconst_0
ireturn
7: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_1
if_icmpne 9
iload 4
bipush 8
if_icmpeq 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iload 4
bipush 16
if_icmpne 34
10: iconst_0
istore 5
start local 5 11: iconst_0
istore 6
start local 6 12: aload 2
invokevirtual javax.imageio.ImageTypeSpecifier.getSampleModel:()Ljava/awt/image/SampleModel;
astore 7
start local 7 13: aload 7
instanceof java.awt.image.SinglePixelPackedSampleModel
ifeq 30
14: aload 7
checkcast java.awt.image.SinglePixelPackedSampleModel
invokevirtual java.awt.image.SinglePixelPackedSampleModel.getSampleSize:()[I
15: astore 8
start local 8 16: iconst_1
istore 5
17: iconst_1
istore 6
18: iconst_0
istore 9
start local 9 19: goto 29
20: StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int javax.imageio.ImageTypeSpecifier javax.imageio.spi.ImageWriterSpi int int int java.awt.image.SampleModel int[] int
StackMap stack:
iload 5
aload 8
iload 9
iaload
iconst_5
if_icmpne 21
iconst_1
goto 22
StackMap locals:
StackMap stack: int
21: iconst_0
StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int javax.imageio.ImageTypeSpecifier javax.imageio.spi.ImageWriterSpi int int int java.awt.image.SampleModel int[] int
StackMap stack: int int
22: iand
istore 5
23: iload 6
aload 8
iload 9
iaload
iconst_5
if_icmpeq 26
24: iload 9
iconst_1
if_icmpne 25
aload 8
iload 9
iaload
bipush 6
if_icmpeq 26
StackMap locals:
StackMap stack: int
25: iconst_0
goto 27
StackMap locals:
StackMap stack: int
26: iconst_1
StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int javax.imageio.ImageTypeSpecifier javax.imageio.spi.ImageWriterSpi int int int java.awt.image.SampleModel int[] int
StackMap stack: int int
27: iand
istore 6
28: iinc 9 1
StackMap locals:
StackMap stack:
29: iload 9
aload 8
arraylength
if_icmplt 20
end local 9 end local 8 30: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
ifne 31
iload 5
ifne 33
31: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
iconst_3
if_icmpne 32
iload 6
ifne 33
32: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
33: iconst_1
ireturn
end local 7 end local 6 end local 5 34: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 35 1 compression I
0 35 2 imgType Ljavax/imageio/ImageTypeSpecifier;
1 35 3 spi Ljavax/imageio/spi/ImageWriterSpi;
5 35 4 bpp I
11 34 5 canUseRGB Z
12 34 6 canUseBITFIELDS Z
13 34 7 sm Ljava/awt/image/SampleModel;
16 30 8 sizes [I
19 30 9 i I
MethodParameters:
Name Flags
compression
imgType
protected void writeMaskToPalette(int, int, byte[], byte[], byte[], byte[]);
descriptor: (II[B[B[B[B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 5
iload 2
sipush 255
iload 1
bipush 24
ishr
iand
i2b
bastore
1: aload 4
iload 2
sipush 255
iload 1
bipush 16
ishr
iand
i2b
bastore
2: aload 3
iload 2
sipush 255
iload 1
bipush 8
ishr
iand
i2b
bastore
3: aload 6
iload 2
sipush 255
iload 1
iand
i2b
bastore
4: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 5 1 mask I
0 5 2 i I
0 5 3 r [B
0 5 4 g [B
0 5 5 b [B
0 5 6 a [B
MethodParameters:
Name Flags
mask
i
r
g
b
a
private int roundBpp(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 8
if_icmpgt 2
1: bipush 8
ireturn
2: StackMap locals:
StackMap stack:
iload 1
bipush 16
if_icmpgt 4
3: bipush 16
ireturn
4: StackMap locals:
StackMap stack:
iload 1
bipush 24
if_icmpgt 6
5: bipush 24
ireturn
6: StackMap locals:
StackMap stack:
bipush 32
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
0 7 1 x I
MethodParameters:
Name Flags
x
static void access$0(com.sun.imageio.plugins.bmp.BMPImageWriter, float);
descriptor: (Lcom/sun/imageio/plugins/bmp/BMPImageWriter;F)V
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
fload 1
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processImageProgress:(F)V
return
LocalVariableTable:
Start End Slot Name Signature
static void access$1(com.sun.imageio.plugins.bmp.BMPImageWriter, int, java.lang.String);
descriptor: (Lcom/sun/imageio/plugins/bmp/BMPImageWriter;ILjava/lang/String;)V
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
iload 1
aload 2
invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processWarningOccurred:(ILjava/lang/String;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "BMPImageWriter.java"
NestMembers:
com.sun.imageio.plugins.bmp.BMPImageWriter$1 com.sun.imageio.plugins.bmp.BMPImageWriter$2 com.sun.imageio.plugins.bmp.BMPImageWriter$IIOWriteProgressAdapter
InnerClasses:
com.sun.imageio.plugins.bmp.BMPImageWriter$1
com.sun.imageio.plugins.bmp.BMPImageWriter$2
private IIOWriteProgressAdapter = com.sun.imageio.plugins.bmp.BMPImageWriter$IIOWriteProgressAdapter of com.sun.imageio.plugins.bmp.BMPImageWriter