[Java]
public class ViewDWG
{
//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined
value types. The behavior of this class will differ from the
original:
//ORIGINAL LINE: struct BITMAPFILEHEADER
private final static class BITMAPFILEHEADER
{
public short bfType;
public int bfSize;
public short bfReserved1;
public short bfReserved2;
public int bfOffBits;
public BITMAPFILEHEADER clone()
{
BITMAPFILEHEADER varCopy = new BITMAPFILEHEADER();
varCopy.bfType = this.bfType;
varCopy.bfSize = this.bfSize;
varCopy.bfReserved1 = this.bfReserved1;
varCopy.bfReserved2 = this.bfReserved2;
varCopy.bfOffBits = this.bfOffBits;
return varCopy;
}
}
public final Image GetDwgImage(String FileName)
{
if (!((new java.io.File(FileName)).isFile()))
{
throw new FileNotFoundException("文件没有被找到");
}
FileStream DwgF; //文件流
int PosSentinel; //文件描述块的位置
BinaryReader br; //读取二进制文件
int TypePreview; //缩略图格式
int PosBMP; //缩略图位置
int LenBMP; //缩略图大小
short biBitCount; //缩略图比特深度
BITMAPFILEHEADER biH = new BITMAPFILEHEADER();
//BMP文件头,DWG文件中不包含位图文件头,要自行加上去
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no
direct equivalent in Java:
//ORIGINAL LINE: byte[] BMPInfo;
byte[] BMPInfo; //包含在DWG文件中的BMP文件体
MemoryStream BMPF = new MemoryStream(); //保存位图的内存文件流
BinaryWriter bmpr = new BinaryWriter(BMPF); //写二进制文件类
Image myImg = null;
try
{
DwgF = new FileStream(FileName, Fi