Beispiel #1
0
        public const int BMP_MAGIC_COOKIE = 19778; //ascii string "BM"

        /*// <summary>
        /// 指定されたBITMAP型変数の情報ヘッダーをファイルに書き込みます.
        /// </summary>
        /// <param name="bmp"></param>
        /// <param name="fp"></param>
        public static void bmpWriteInfoHeader( BITMAPINFOHEADER infoHeader, BinaryWriter stream ) {
            //type(INFO_HEADER), intent(in) :: infoHeader
            //type(FILE), intent(inout) :: fp
            Util.WriteDWORD( (uint)infoHeader.biSize, stream );
            Util.WriteDWORD( (uint)infoHeader.biWidth, stream );
            Util.WriteDWORD( (uint)infoHeader.biHeight, stream );
            Util.WriteWORD( (ushort)infoHeader.biPlanes, stream );
            Util.WriteWORD( (ushort)(infoHeader.biBitCount), stream );
            Util.WriteDWORD( (uint)infoHeader.biCompression, stream );
            Util.WriteDWORD( (uint)infoHeader.biSizeImage, stream );
            Util.WriteDWORD( (uint)infoHeader.biXPelsPerMeter, stream );
            Util.WriteDWORD( (uint)infoHeader.biYPelsPerMeter, stream );
            Util.WriteDWORD( (uint)infoHeader.biClrUsed, stream );
            Util.WriteDWORD( (uint)infoHeader.biClrImportant, stream );
        }*/


        /// <summary>
        /// ファイルにAVIStreamHeader構造体の値を書き込みます
        /// </summary>
        public static void aviWriteStreamHeader( AVIStreamHeader streamHeader, MainAVIHeader mainHeader, BinaryWriter stream ) {
            //type(AVI_CONTAINER), intent(inout) :: avi
            Util.fwrite( "strh", stream );
            Util.WriteDWORD( 56, stream );// call bmpQWordWrite( 56, avi%fp )    !// AVIStreamHeaderのサイズ
            //fwrite( streamHeader.fccType, fp );// i = fwrite( avi%streamHeader%fccType, 1, 4, avi%fp )
            Util.WriteDWORD( (uint)streamHeader.fccType, stream );
            //fwrite( streamHeader.fccHandler, fp );//            i = fwrite( streamHeader.fccHandler, 1, 4, fp );
            Util.WriteDWORD( (uint)streamHeader.fccHandler, stream );
            //WriteDWORD( 0, fp );
            Util.WriteDWORD( streamHeader.dwFlags, stream );
            //WriteDWORD( streamHeader.dwReserved1, fp );
            Util.WriteWORD( 0, stream );//wPriority
            Util.WriteWORD( 0, stream );//wLanghage
            Util.WriteDWORD( streamHeader.dwInitialFrames, stream );
            Util.WriteDWORD( streamHeader.dwScale, stream );
            Util.WriteDWORD( streamHeader.dwRate, stream );
            Util.WriteDWORD( streamHeader.dwStart, stream );
            Util.WriteDWORD( streamHeader.dwLength, stream );
            Util.WriteDWORD( streamHeader.dwSuggestedBufferSize, stream );
            Util.WriteDWORD( streamHeader.dwQuality, stream );
            Util.WriteDWORD( streamHeader.dwSampleSize, stream );
            Util.WriteWORD( 0, stream );//left
            Util.WriteWORD( 0, stream );//top
            Util.WriteWORD( (ushort)mainHeader.dwWidth, stream );//right
            Util.WriteWORD( (ushort)mainHeader.dwHeight, stream );//bottom
        }
Beispiel #2
0
        public const int BMP_MAGIC_COOKIE    = 19778;  //ascii string "BM"

        /*// <summary>
         * /// 指定されたBITMAP型変数の情報ヘッダーをファイルに書き込みます.
         * /// </summary>
         * /// <param name="bmp"></param>
         * /// <param name="fp"></param>
         * public static void bmpWriteInfoHeader( BITMAPINFOHEADER infoHeader, BinaryWriter stream ) {
         *  //type(INFO_HEADER), intent(in) :: infoHeader
         *  //type(FILE), intent(inout) :: fp
         *  Util.WriteDWORD( (uint)infoHeader.biSize, stream );
         *  Util.WriteDWORD( (uint)infoHeader.biWidth, stream );
         *  Util.WriteDWORD( (uint)infoHeader.biHeight, stream );
         *  Util.WriteWORD( (ushort)infoHeader.biPlanes, stream );
         *  Util.WriteWORD( (ushort)(infoHeader.biBitCount), stream );
         *  Util.WriteDWORD( (uint)infoHeader.biCompression, stream );
         *  Util.WriteDWORD( (uint)infoHeader.biSizeImage, stream );
         *  Util.WriteDWORD( (uint)infoHeader.biXPelsPerMeter, stream );
         *  Util.WriteDWORD( (uint)infoHeader.biYPelsPerMeter, stream );
         *  Util.WriteDWORD( (uint)infoHeader.biClrUsed, stream );
         *  Util.WriteDWORD( (uint)infoHeader.biClrImportant, stream );
         * }*/


        /// <summary>
        /// ファイルにAVIStreamHeader構造体の値を書き込みます
        /// </summary>
        public static void aviWriteStreamHeader(AVIStreamHeader streamHeader, MainAVIHeader mainHeader, BinaryWriter stream)
        {
            //type(AVI_CONTAINER), intent(inout) :: avi
            Util.fwrite("strh", stream);
            Util.WriteDWORD(56, stream);  // call bmpQWordWrite( 56, avi%fp )    !// AVIStreamHeaderのサイズ
            //fwrite( streamHeader.fccType, fp );// i = fwrite( avi%streamHeader%fccType, 1, 4, avi%fp )
            Util.WriteDWORD((uint)streamHeader.fccType, stream);
            //fwrite( streamHeader.fccHandler, fp );//            i = fwrite( streamHeader.fccHandler, 1, 4, fp );
            Util.WriteDWORD((uint)streamHeader.fccHandler, stream);
            //WriteDWORD( 0, fp );
            Util.WriteDWORD(streamHeader.dwFlags, stream);
            //WriteDWORD( streamHeader.dwReserved1, fp );
            Util.WriteWORD(0, stream);  //wPriority
            Util.WriteWORD(0, stream);  //wLanghage
            Util.WriteDWORD(streamHeader.dwInitialFrames, stream);
            Util.WriteDWORD(streamHeader.dwScale, stream);
            Util.WriteDWORD(streamHeader.dwRate, stream);
            Util.WriteDWORD(streamHeader.dwStart, stream);
            Util.WriteDWORD(streamHeader.dwLength, stream);
            Util.WriteDWORD(streamHeader.dwSuggestedBufferSize, stream);
            Util.WriteDWORD(streamHeader.dwQuality, stream);
            Util.WriteDWORD(streamHeader.dwSampleSize, stream);
            Util.WriteWORD(0, stream);                           //left
            Util.WriteWORD(0, stream);                           //top
            Util.WriteWORD((ushort)mainHeader.dwWidth, stream);  //right
            Util.WriteWORD((ushort)mainHeader.dwHeight, stream); //bottom
        }
Beispiel #3
0
 /// <summary>
 /// ファイルにMainAviHeader構造体の値を書き込みます
 /// </summary>
 public static void aviWriteMainHeader(MainAVIHeader mainHeader, BinaryWriter stream)
 {
     //type(AVI_CONTAINER), intent(inout) :: avi
     Util.fwrite("avih", stream);  //    i = fwrite( 'avih', 1, 4, avi%fp )
     Util.WriteDWORD(56, stream);  // MainAVIHeaderのサイズ
     Util.WriteDWORD(mainHeader.dwMicroSecPerFrame, stream);
     Util.WriteDWORD(0 /*this.mainHeader.dwMaxBytesPerSec*/, stream);
     Util.WriteDWORD(mainHeader.dwReserved1, stream);
     Util.WriteDWORD(mainHeader.dwFlags, stream);
     Util.WriteDWORD(mainHeader.dwTotalFrames, stream);
     Util.WriteDWORD(mainHeader.dwInitialFrames, stream);
     Util.WriteDWORD(mainHeader.dwStreams, stream);
     Util.WriteDWORD(0 /*this.mainHeader.dwSuggestedBufferSize*/, stream);
     Util.WriteDWORD(mainHeader.dwWidth, stream);
     Util.WriteDWORD(mainHeader.dwHeight, stream);
     Util.WriteDWORD(mainHeader.dwScale, stream);
     Util.WriteDWORD(mainHeader.dwRate, stream);
     Util.WriteDWORD(mainHeader.dwStart, stream);
     Util.WriteDWORD(mainHeader.dwLength, stream);
 }//end subroutine
Beispiel #4
0
 /// <summary>
 /// ファイルにMainAviHeader構造体の値を書き込みます
 /// </summary>
 public static void aviWriteMainHeader( MainAVIHeader mainHeader, BinaryWriter stream ) {
     //type(AVI_CONTAINER), intent(inout) :: avi
     Util.fwrite( "avih", stream );//    i = fwrite( 'avih', 1, 4, avi%fp )
     Util.WriteDWORD( 56, stream );    // MainAVIHeaderのサイズ
     Util.WriteDWORD( mainHeader.dwMicroSecPerFrame, stream );
     Util.WriteDWORD( 0/*this.mainHeader.dwMaxBytesPerSec*/, stream );
     Util.WriteDWORD( mainHeader.dwReserved1, stream );
     Util.WriteDWORD( mainHeader.dwFlags, stream );
     Util.WriteDWORD( mainHeader.dwTotalFrames, stream );
     Util.WriteDWORD( mainHeader.dwInitialFrames, stream );
     Util.WriteDWORD( mainHeader.dwStreams, stream );
     Util.WriteDWORD( 0/*this.mainHeader.dwSuggestedBufferSize*/, stream );
     Util.WriteDWORD( mainHeader.dwWidth, stream );
     Util.WriteDWORD( mainHeader.dwHeight, stream );
     Util.WriteDWORD( mainHeader.dwScale, stream );
     Util.WriteDWORD( mainHeader.dwRate, stream );
     Util.WriteDWORD( mainHeader.dwStart, stream );
     Util.WriteDWORD( mainHeader.dwLength, stream );
 }//end subroutine