コード例 #1
0
        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());
        }
 /**
  * 現在のファイルイメージを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());
 }