📄 blipstoreentry.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: BlipStoreEntry.java
package jxl.biff.drawing;
import common.Assert;
import common.Logger;
import java.io.IOException;
import jxl.biff.IntegerHelper;
// Referenced classes of package jxl.biff.drawing:
// EscherAtom, BlipType, EscherRecordType, Drawing,
// EscherRecordData
class BlipStoreEntry extends EscherAtom
{
private static Logger logger;
private BlipType type;
private byte data[];
private int imageDataLength;
private int referenceCount;
private boolean write;
private static final int IMAGE_DATA_OFFSET = 61;
static Class class$jxl$biff$drawing$BlipStoreEntry; /* synthetic field */
public BlipStoreEntry(EscherRecordData erd)
{
super(erd);
type = BlipType.getType(getInstance());
write = false;
byte bytes[] = getBytes();
referenceCount = IntegerHelper.getInt(bytes[24], bytes[25], bytes[26], bytes[27]);
}
public BlipStoreEntry(Drawing d)
throws IOException
{
super(EscherRecordType.BSE);
type = BlipType.PNG;
setVersion(2);
setInstance(type.getValue());
byte imageData[] = d.getImageBytes();
imageDataLength = imageData.length;
data = new byte[imageDataLength + 61];
System.arraycopy(imageData, 0, data, 61, imageDataLength);
referenceCount = d.getReferenceCount();
write = true;
}
public BlipType getBlipType()
{
return type;
}
public byte[] getData()
{
if(write)
{
data[0] = (byte)type.getValue();
data[1] = (byte)type.getValue();
IntegerHelper.getFourBytes(imageDataLength + 8 + 17, data, 20);
IntegerHelper.getFourBytes(referenceCount, data, 24);
IntegerHelper.getFourBytes(0, data, 28);
data[32] = 0;
data[33] = 0;
data[34] = 126;
data[35] = 1;
data[36] = 0;
data[37] = 110;
IntegerHelper.getTwoBytes(61470, data, 38);
IntegerHelper.getFourBytes(imageDataLength + 17, data, 40);
} else
{
data = getBytes();
}
return setHeaderData(data);
}
void dereference()
{
referenceCount--;
Assert.verify(referenceCount >= 0);
}
int getReferenceCount()
{
return referenceCount;
}
byte[] getImageData()
{
byte allData[] = getBytes();
byte imageData[] = new byte[allData.length - 61];
System.arraycopy(allData, 61, imageData, 0, imageData.length);
return imageData;
}
static Class class$(String x0)
{
return Class.forName(x0);
ClassNotFoundException x1;
x1;
throw new NoClassDefFoundError(x1.getMessage());
}
static
{
logger = Logger.getLogger(class$jxl$biff$drawing$BlipStoreEntry != null ? class$jxl$biff$drawing$BlipStoreEntry : (class$jxl$biff$drawing$BlipStoreEntry = class$("jxl.biff.drawing.BlipStoreEntry")));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -