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 }
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 }