Beispiel #1
0
        /**
         * 格納している情報から、ファイルイメージを生成します。
         * @param i_sub_dpis
         * @return
         */
        public byte[] makeBinary()
        {
            //初期メモリは2MB
            BinaryWriter bw = new BinaryWriter(BinaryReader.ENDIAN_LITTLE, 2 * 1024 * 1024);

            //dpiセット+1
            bw.putInt(this.sub_dpis.Length + 1);
            //jpgイメージ
            bw.putByteArray(JpegIO.encode(this.image_size.w, this.image_size.h, (int)this.image_dpi_x, (int)this.image_dpi_y, this.image_unit, this.image, 0.8f));
            //サブdpi
            bw.putFloatArray(this.sub_dpis);
            return(bw.getBinary());
        }
Beispiel #2
0
        /**
         * @param i_src
         * isetファイルイメージを格納したbyte配列
         */
        public IsetFileDataParserV5(byte[] i_src)
        {
            BinaryReader br = new BinaryReader(i_src, BinaryReader.ENDIAN_LITTLE);
            //read raw data
            int size      = br.size();
            int noi       = br.getInt();
            int jpeg_size = size - 4 - (4 * (noi - 1));

            byte[]  jpeg = br.getByteArray(jpeg_size);
            float[] ldpi = br.getFloatArray(noi - 1);

            JpegIO.DecodeResult d;
            d = JpegIO.decode(jpeg);

            this.image       = d.img;
            this.image_dpi_x = d.x_density;
            this.image_dpi_y = d.y_density;
            this.image_unit  = d.density_unit;
            this.image_size  = new NyARIntSize(d.width, d.height);
            this.num_of_iset = noi;
            this.sub_dpis    = ldpi;
            return;
        }