/** * 現在のファイルイメージをbyte[]で返却します。 * @return */ public byte[] makeFset3Binary() { jp.nyatla.nyartoolkit.cs.cs4.BinaryWriter bw = new jp.nyatla.nyartoolkit.cs.cs4.BinaryWriter(jp.nyatla.nyartoolkit.cs.cs4.BinaryWriter.ENDIAN_LITTLE, 2 * 1024 * 1024); bw.putInt(this.ref_point.Length); for (int i = 0; i < this.ref_point.Length; i++) { RefDataSet rd = this.ref_point[i]; bw.putFloat((float)rd.coord2D.x); bw.putFloat((float)rd.coord2D.y); bw.putFloat((float)rd.coord3D.x); bw.putFloat((float)rd.coord3D.y); bw.putByteArray(rd.featureVec.v); bw.putFloat((float)rd.featureVec.angle); bw.putFloat((float)rd.featureVec.scale); bw.putInt(rd.featureVec.maxima); bw.putInt(rd.pageNo); bw.putInt(rd.refImageNo); } bw.putInt(this.page_info.Length); for (int i = 0; i < this.page_info.Length; i++) { PageInfo pi = this.page_info[i]; bw.putInt(pi.page_no); bw.putInt(pi.image_info.Length); for (int j = 0; j < pi.image_info.Length; j++) { bw.putInt(pi.image_info[j].w); bw.putInt(pi.image_info[j].h); bw.putInt(pi.image_info[j].image_no); } } return(bw.getBinary()); }
public byte[] makeBinary() { jp.nyatla.nyartoolkit.cs.cs4.BinaryWriter bw = new jp.nyatla.nyartoolkit.cs.cs4.BinaryWriter(jp.nyatla.nyartoolkit.cs.cs4.BinaryWriter.ENDIAN_LITTLE, 2 * 1024 * 1024); { //HEADERSTR byte[] hs = new byte[32]; byte[] s = System.Text.Encoding.UTF8.GetBytes(HS_NFTPACK_V1); System.Array.Copy(s, hs, s.Length); bw.putByteArray(hs); } byte[] iset_bin = this.iset.makeIsetBinary(NyARNftIsetFile.FILE_FORMAT_ARTK_V5RAW); byte[] fset_bin = this.fset.makeFsetBinary(); byte[] fset3_bin = this.fset3.makeFset3Binary(); //NUM_ENTRY bw.putInt(3); //ENTRY_INFO bw.putInt(ET_ISET5_RAW); bw.putInt(iset_bin.Length); bw.putInt(ET_FSET); bw.putInt(fset_bin.Length); bw.putInt(ET_FREAKFSET); bw.putInt(fset3_bin.Length); //BYTE_INFO bw.putByteArray(iset_bin); bw.putByteArray(fset_bin); bw.putByteArray(fset3_bin); //バイナリを返す return(bw.getBinary()); }