NSD_AVI メンバ
AVIファイルの情報取得、ビデオストリームから画像ファイルの作成をします。
※画像ファイルの作成は無圧縮データとRLE8での圧縮データ以外では関数が失敗する場合があります。
●コンストラクタ
名前 説明 NSD_AVI NSD_AVIを初期化します。
●メソッドの一覧
名前 引数 戻り値 説明 Dispose なし なし リソースの解放を行います。
※終了時に必ず呼び出します。Dispose_AVIData なし なし NSD_AVI_DATAを解放します。 GetAviInfo ( String ) NSD_AVI_DATA()型 AVIの情報を取得します。 GetAVIToPicture ( String , String , String , Integer , PICTURE_SAVE_STYLE) Boolean型 AVIファイルから全フレームを指定画像形式のファイルにします。 ( String , String , Integer , String , PICTURE_SAVE_STYLE ) Boolean型 AVIファイルから指定フレームを指定画像形式のファイルにします。 ( String , String , Integer , Integer , Integer , String , PICTURE_SAVE_STYLE ) Boolean型 AVIファイルから指定範囲のフレームを指定画像形式のファイルにします。 ( String , String , String , Integer , PICTURE_SAVE_STYLE, NSD_AVI_DATA() ) Boolean型 AVIファイルから全フレームを指定画像形式のファイルにします。 ( String , String , Integer , String , PICTURE_SAVE_STYLE, NSD_AVI_DATA() ) Boolean型 AVIファイルから指定フレームを指定画像形式のファイルにします。 ( String , String , Integer , Integer , Integer , String , PICTURE_SAVE_STYLE, NSD_AVI_DATA() ) Boolean型 AVIファイルから指定範囲のフレームを指定画像形式のファイルにします。 GetErrorNo なし ErrorNo型 エラー番号を返します。 GetErrorMsg なし String型 エラーメッセージを返します。
●イベントの一覧
名前 引数 戻り値 説明 EventGetAVIToPictureOneData ( NSD_AVI_DATA , Boolean ) なし GetAVIToPictureで1データ取得時に発生するイベント。
●データ用クラスの一覧
名前:NSD_AVI_DATA
構文:
Public Class NSD_AVI_DATA Public Offset As Int64 Public ID As Int32 Public Name As String Public Size As Int32 Public DataOffset As Int64 Public Data As Object Public Child() As NSD_AVI_DATA Public Parent As NSD_AVI_DATA End Class
内容:AVIデータ用クラス。
名前 型 説明 Offset Int64 先頭からのオフセット値。 ID Int32 ID(チャンク名)。 Name String IDを文字列に変更した値。 Size Int32 データサイズ。 DataOffset Int64 先頭からのデータオフセット値。 Data Object 各データ。
※画像、音声データは含まれません。Child() NSD_AVI_DATA 子のデータ。 Parent NSD_AVI_DATA 親のデータ。
名前:NSD_AVI_MAIN_HEADER
構文:
Public Class NSD_AVI_MAIN_HEADER Public fcc As String Public cb As Int32 Public dwMicroSecPerFrame As Int32 Public dwMaxBytesPerSec As Int32 Public dwPaddingGranularity As Int32 Public dwFlags As Int32 Public dwTotalFrames As Int32 Public dwInitialFrames As Int32 Public dwStreams As Int32 Public dwSuggestedBufferSize As Int32 Public dwWidth As Int32 Public dwHeight As Int32 Public dwReserved() As Int32 End Class
内容:AVIメインヘッダー情報。
名前 型 説明 fcc String FOURCC コード (avih)。 cb Int32 サイズ。 dwMicroSecPerFrame Int32 フレーム間の間隔をマイクロ秒単位で指定する。 dwMaxBytesPerSec Int32 ファイルの概算最大データ レートを指定する。 dwPaddingGranularity Int32 データのアライメントをバイト単位で指定する。 dwFlags Int32 フラグ。 dwTotalFrames Int32 ファイル内のデータのフレームの総数を指定する。 dwInitialFrames Int32 インターリーブされたファイルの開始フレームを指定する。 dwStreams Int32 ファイル内のストリーム数を指定する。 dwSuggestedBufferSize Int32 ファイルを読み取るためのバッファ サイズを指定する。 dwWidth Int32 AVI ファイルの幅を指定する (ピクセル単位)。 dwHeight Int32 AVI ファイルの高さを指定する (ピクセル単位)。 dwReserved() Int32 予約済み。
名前:NSD_AVI_OLD_INDEX
構文:
Public Class NSD_AVI_OLD_INDEX Public fcc As String Public cb As Int32 Public Entry() As NSD_AVI_OLD_INDEX_ENTRY = Nothing End Class
内容:AVI1.0インデックス(idx1)。
名前 型 説明 fcc String FOURCC コード (avih)。 cb Int32 サイズ。 Entry() NSD_AVI_OLD_INDEX_ENTRY Entryの配列。
名前:NSD_AVI_OLD_INDEX_ENTRY
構文:
Public Class NSD_AVI_OLD_INDEX_ENTRY Public fcc As String Public dwFlags As Int32 Public dwOffset As Int32 Public dwSize As Int32 End Class
内容:AviOldIndexEntry。
名前 型 説明 fcc String FOURCC コード。
- db (Uncompressed video frame)
- dc (Compressed video frame)
- pc (Palette change)
- wb (Audio data)
dwFlags Int32 組み合わせを示します。
- AVIIF_KEYFRAME
- AVIIF_LIST
- AVIIF_NO_TIME
dwOffset Int32 データチャンクの場所でファイルを指定します。 dwSize Int32 データ チャンクのサイズ (バイト単位) を指定します。
名前:NSD_AVI_EXTHEADER
構文:
Public Class NSD_AVI_EXTHEADER Public fcc As String Public cb As Int32 Public dwGrandFrames As Int32 Public dwFuture(0 To 60) As Int32 End Class
内容:AVIEXTHEADER。
名前 型 説明 fcc String FOURCC コード (dmlh)。 cb Int32 サイズ。 dwGrandFrames IntPtr ファイル内のフレーム合計数。 dwFuture(0 To 60) Int32
名前:NSD_AVI_SuperIndex
構文:
Public Class NSD_AVI_SuperIndex Public fcc As String Public cb As UInt16 Public wLongsPerEntry As Int16 Public bIndexSubType As Byte Public bIndexType As Byte Public nEntriesInUse As Int32 Public ChunkId As String Public dwReserved(0 To 2) As Int32 Public aIndex() As NSD_AviSuperIndex_Entry End Class
内容:AviStdIndex。
名前 型 説明 fcc String FOURCC コード ('indx' or '##ix')。 cb UInt16 サイズ。 wLongsPerEntry Int16 = 2 bIndexSubType Byte = 0 bIndexType Byte AVI_INDEX_OF_CHUNKS nEntriesInUse Int32 offset of next unused entry in aIndex. ChunkId String chunk ID of chunks being indexed, (i.e. RGB8). qwBaseOffset Int64 base offset that all index intries are relative to. dwReserved_3 Int32 must be 0. aIndex() NSD_AVI_STD_INDEX_ENTRY AviStdIndexEntry
名前:NSD_AVI_STD_INDEX_ENTRY
構文:
Public Class NSD_AVI_STD_INDEX_ENTRY Public dwOffset As Int32 Public dwSize As Int32 End Class
内容:AviStdIndexEntry。
名前 型 説明 dwOffset Int32 32 bit offset to data (points to data, not riff header). dwSize Int32 31 bit size of data (does not include size of riff header), bit 31 is deltaframe bit.
名前:NSD_AVI_STREAM_HEADER
構文:
Public Class NSD_AVI_STREAM_HEADER Public fcc As String Public cb As Int32 Public fccType As Int32 Public fccTypeName As String Public fccHandler As Int32 Public fccHandlerName As String Public dwFlags As Int32 Public wPriority As Int16 Public wLanguage As Int16 Public dwInitialFrames As Int32 Public dwScale As Int32 Public dwRate As Int32 Public dwStart As Int32 Public dwLength As Int32 Public dwSuggestedBufferSize As Int32 Public dwQuality As Int32 Public dwSampleSize As Int32 Public Frame_left As Int16 Public Frame_top As Int16 Public Frame_right As Int16 Public Frame_bottom As Int16 End Class
内容:AVIストリームヘッダー。
名前 型 説明 fcc String FOURCC コード (strh)。 cb Int32 サイズ。 fccType Int32 ストリームに含まれるデータのタイプを指定する。 fccTypeName String ストリームに含まれるデータのタイプを指定する。
- "auds" = オーディオ ストリーム
- "mids" = MIDI ストリーム
- "txts" = テキスト ストリーム
- "vids" = ビデオ ストリーム
fccHandler Int32 特定のデータ ハンドラを示す。 fccHandlerName String 特定のデータ ハンドラを示す。 dwFlags Int32 フラグ。 wPriority Int16 ストリーム タイプの優先順位を指定する。 wLanguage Int16 ストリームの言語。 dwInitialFrames Int32 インターリーブされたファイルで、オーディオ データがビデオ フレームからどのくらいスキューされているかを指定する。 dwScale Int32 ストリームが使うタイム スケールを指定する。 dwRate Int32 dwRate / dwScale で1秒あたりのサンプル数。 dwStart Int32 ストリームの開始タイムを指定する。 dwLength Int32 ストリームの長さを指定する。 dwSuggestedBufferSize Int32 ストリームを読み取るために必要なバッファの大きさを指定する。 dwQuality Int32 ストリーム内のデータの品質を示す値を指定する。 dwSampleSize Int32 データの1サンプルのサイズを指定する。 Frame_left Int16 左上隅からのLeft位置。 Frame_top Int16 左上隅からのTop位置。 Frame_right Int16 左上隅からのRight位置。 Frame_bottom Int16 左上隅からのBottom位置。
名前:NSD_AVI_STREAM_FORMAT
構文:
Public Class NSD_AVI_STREAM_FORMAT Public fcc As String Public cb As Int32 Public bmi As Object End Class
内容:AVIストリームフォーマット。
名前 型 説明 fcc String FOURCC コード (strh)。 cb Int32 サイズ。 bmi Object ビデオストリームの場合は、ビットマップ情報。
オーディオストリームの場合は、波形オーディオデータのフォーマット情報。
名前:NSD_BITMAP_INFO
構文:
Public Class NSD_BITMAP_INFO Public bmiHeader As NSD_BITMAP_INFO_HEADER Public bmiColors() As NSD_RGB_QUAD End Class
内容:ビットマップ情報。
名前 型 説明 bmiHeader NSD_BITMAP_INFO_HEADER ビットマップヘッダー情報。 bmiColors() NSD_RGB_QUAD 色情報。
名前:NSD_BITMAP_INFO_HEADER
構文:
Public Class NSD_BITMAP_INFO_HEADER Public biSize As Int32 Public biWidth As Int32 Public biHeight As Int32 Public biPlanes As Int16 Public biBitCount As Int16 Public biCompression As Int32 Public biSizeImage As Int32 Public biXPelsPerMeter As Int32 Public biYPelsPerMeter As Int32 Public biClrUsed As Int32 Public biClrImportant As Int32 End Class
内容:ビットマップヘッダー情報。
名前 型 説明 biSize Int32 サイズ。 biWidth Int32 ビットマップの幅(ピクセル単位)。 biHeight Int32 ビットマップの高さ(ピクセル単位)。 biPlanes Int16 プレーン数(常に1)。 biBitCount Int16 1ピクセルあたりのビット数を指定します。 biCompression Int32 圧縮形式を指定します。 biSizeImage Int32 画像サイズをバイト単位で指定します。 biXPelsPerMeter Int32 水平方向の解像度を指定します。 biYPelsPerMeter Int32 垂直方向の解像度を指定します。 biClrUsed Int32 色インデックスの数を指定します。 biClrImportant Int32 ビットマップを表示するのに必要なインデックス数。
名前:NSD_RGB_QUAD
構文:
Public Class NSD_RGB_QUAD Public rgbBlue As Byte Public rgbGreen As Byte Public rgbRed As Byte Public rgbReserved As Byte End Class
内容:色情報。
名前 型 説明 rgbBlue Byte 青成分の値。 rgbGreen Byte 緑成分の値。 rgbRed Byte 赤成分の値。 rgbReserved Byte 予約(0を指定)。
名前:NSD_WAVEFORMATEX
構文:
Public Class NSD_WAVEFORMATEX Public wFormatTag As Int16 Public nChannels As Int16 Public nSamplesPerSec As Int32 Public nAvgBytesPerSec As Int32 Public nBlockAlign As Int16 Public wBitsPerSample As Int16 Public cbSize As Int16 End Class
内容:ビットマップヘッダー情報。
名前 型 説明 wFormatTag Int16 波形オーディオのフォーマットタイプ。 nChannels Int16 波形オーディオ データに含まれるチャンネル数。 nSamplesPerSec Int32 サンプル/秒で表すサンプルレート(単位 Hz)。 nAvgBytesPerSec Int32 フォーマットタグに必要な平均データ転送レート(単位 バイト/秒)。 nBlockAlign Int16 ブロックアラインメント(単位 バイト)。 wBitsPerSample Int16 wFormatTagフォーマットタイプの1サンプルあたりのビット数。 cbSize Int16 WAVEFORMATEX構造体の最後に追加される追加フォーマット情報のサイズ(単位バイト)。
●NSD_AVIコンストラクタの説明
構文:Public Sub New()
使用法:Dim ClsPrv_AVIData As New NSD_AVI
引数:なし。
使用例:
Public Class Form1 Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Dim Cls_AVIData As NSDAVI.NSD_AVI = Nothing Try Cls_AVIData = New NSDAVI.NSD_AVI Dim Cls_AVI_Info() As NSDAVI.NSD_AVI.NSD_AVI_DATA = Cls_AVIData.GetAviInfo("AVIファイル名") If Cls_AVI_Info Is Nothing) Then MsgBox("データ構造が確認できません。") Else : ' AVIデータを解放します. Cls_AVIData.Dispose_AVIData(Cls_AVI_Info) End If Catch ex As Exception Finally If Not (Cls_AVIData Is Nothing) Then Cls_AVIData.Dispose() Cls_AVIData = Nothing End If End Try End Sub End Class
●NSD_AVIメソッドの説明
名前:Dispose
構文:Public Overridable Sub Dispose() Implements IDisposable.Dispose
機能:リソースの解放を行います。
※終了時に必ず呼び出します。
引数:なし。
戻り値:なし。
使用例:
Public Class Form1 Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Dim Cls_AVIData As NSDAVI.NSD_AVI = Nothing Try Cls_AVIData = New NSDAVI.NSD_AVI Dim Cls_AVI_Info() As NSDAVI.NSD_AVI.NSD_AVI_DATA = Cls_AVIData.GetAviInfo("AVIファイル名") If Cls_AVI_Info Is Nothing) Then MsgBox("データ構造が確認できません。") Else : ' AVIデータを解放します. Cls_AVIData.Dispose_AVIData(Cls_AVI_Info) End If Catch ex As Exception Finally If Not (Cls_AVIData Is Nothing) Then Cls_AVIData.Dispose() Cls_AVIData = Nothing End If End Try End Sub End Class
名前:Dispose_AVIData
構文:Public Sub Dispose_AVIData( Cls_AVIData() )
機能:NSD_AVI_DATAを解放します。
引数:
名前 型 引数渡しの方法 説明 Cls_AVIData() NSD_AVI_DATA 参照渡し(ByRef) NSD_AVI_DATAの配列を渡します。 戻り値:なし。
使用例:
Public Class Form1 Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Using Cls_AVIData As New NSDAVI.NSD_AVI Dim Cls_AVI_Info() As NSDAVI.NSD_AVI.NSD_AVI_DATA = Cls_AVIData.GetAviInfo("AVIファイル名") If Cls_AVI_Info Is Nothing) Then MsgBox("データ構造が確認できません。") Else : ' AVIデータを解放します. Cls_AVIData.Dispose_AVIData(Cls_AVI_Info) End If End Using Catch ex As Exception Finally End Try End Sub End Class
名前:GetAviInfo
構文:Public Function GetAviInfo( FileName ) As NSD_AVI_DATA()
機能:AVIの情報を取得します。
引数:
名前 型 引数渡しの方法 説明 FileName String 値渡し(ByVal) AVIファイルのフルパス名を渡します。 戻り値:NSD_AVI_DATA()
使用例:
Public Class Form1 : Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Using Cls_AVIData As New NSDAVI.NSD_AVI Dim Cls_AVI_Info() As NSDAVI.NSD_AVI.NSD_AVI_DATA = Cls_AVIData.GetAviInfo("AVIファイル名") If Cls_AVI_Info Is Nothing) Then MsgBox("データ構造が確認できません。") Else ' TreeViewに表示します. If Me.TreeView1.Nodes.Count <> 0 Then Me.TreeView1.Nodes.Remove(Me.TreeView1.Nodes(0)) End If For Int_Loop As Integer = 0 To Cls_AVI_Info.Length - 1 SetDataTreeView(Cls_AVI_Info(Int_Loop), Me.TreeView1.Nodes) Next : ' AVIデータを解放します. Cls_AVIData.Dispose_AVIData(Cls_AVI_Info) End If End Using Catch ex As Exception Finally End Try End Sub ' データをTreeViewにセットします. Private Sub SetDataTreeView( _ ByVal ClsVal_AVIInfo As NSDAVI.NSD_AVI.NSD_AVI_DATA, _ ByRef ClsRef_Node As TreeNodeCollection) Try Dim Str_Text As String = Nothing With ClsVal_AVIInfo Str_Text = .Name If TypeOf .Data Is String Then Str_Text &= " " & .Data End If Str_Text &= " Offset:" & .Offset.ToString() & " Size:" & .Size.ToString() Dim Cls_Node As TreeNode = ClsRef_Node.Add(Str_Text) If Not .Child Is Nothing Then ' 子が存在します. For Int_Loop As Integer = 0 To .Child.Length - 1 SetDataTreeView(.Child(Int_Loop), Cls_Node.Nodes) Next End If End With Catch ex As Exception Finally End Try End Sub : End Class
名前:GetAVIToPicture
機能:AVIファイルから指定フレームを指定画像形式のファイルにします。
@AVIファイルから全フレームを指定画像形式のファイルにします。
構文:Public Overloads Function GetAVIToPicture( AVIFileName , SaveFolder , FileName , Figure , PicStyle ) As Boolean
引数:
名前 型 引数渡しの方法 説明 AVIFileName String 値渡し(ByVal) AVIファイルのフルパス名を渡します。 SaveFolder String 値渡し(ByVal) ファイルを保存するフォルダをフルパス名で渡します。 FileName String 値渡し(ByVal) ファイル名(拡張子なし)を渡します。 Figure Integer 値渡し(ByVal) 連番の桁数を渡します。 PicStyle PICTURE_SAVE_STYLE 値渡し(ByVal) 保存する画像形式を渡します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを解放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_FolderName As String = "" ' <- 画像を保存するフォルダのフルパス名. Dim Str_PicFile As String = "" ' <- 保存する画像ファイル名. ' 取り出す画像ファイルの種類を設定. Dim Int_Picture_Save_Style As NSDAVI.PICTURE_SAVE_STYLE _ = NSDAVI.PICTURE_SAVE_STYLE.BMP If ClsPrv_AVI.GetAVIToPicture(Str_FileName, _ Str_FolderName, _ Str_PicFile, _ 5, _ Int_Picture_Save_Style) Then MsgBox("画像ファイルを取り出しました。") Else MsgBox("画像ファイルの取り出しに失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
AAVIファイルから指定フレームを指定画像形式のファイルにします。
構文:Public Overloads Function GetAVIToPicture( AVIFileName , SaveFolder , SelectNo , FileName , PicStyle ) As Boolean
引数:
名前 型 引数渡しの方法 説明 AVIFileName String 値渡し(ByVal) AVIファイルのフルパス名を渡します。 SaveFolder String 値渡し(ByVal) ファイルを保存するフォルダをフルパス名で渡します。 SelectNo Integer 値渡し(ByVal) 指定フレーム番号を渡します。
※先頭のフレーム番号は0です。FileName String 値渡し(ByVal) ファイル名(拡張子なし)を渡します。 PicStyle PICTURE_SAVE_STYLE 値渡し(ByVal) 保存する画像形式を渡します。
戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを解放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_FolderName As String = "" ' <- 画像を保存するフォルダのフルパス名. Dim Str_PicFile As String = "" ' <- 保存する画像ファイル名. ' 取り出す画像ファイルの種類を設定. Dim Int_Picture_Save_Style As NSDAVI.PICTURE_SAVE_STYLE _ = NSDAVI.PICTURE_SAVE_STYLE.BMP If ClsPrv_AVI.GetAVIToPicture(Str_FileName, _ Str_FolderName, _ 0, _ Str_PicFile, _ Int_Picture_Save_Style) Then MsgBox("画像ファイルを取り出しました。") Else MsgBox("画像ファイルの取り出しに失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
BAVIファイルから指定範囲のフレームを指定画像形式のファイルにします。
構文:Public Overloads Function GetAVIToPicture( AVIFileName , SaveFolder , StartNo , EndNo , Figure , FileName , PicStyle ) As Boolean
引数:
名前 型 引数渡しの方法 説明 AVIFileName String 値渡し(ByVal) AVIファイルのフルパス名を渡します。 SaveFolder String 値渡し(ByVal) ファイルを保存するフォルダをフルパス名で渡します。 StartNo Integer 値渡し(ByVal) 開始フレーム番号を渡します。
※先頭のフレーム番号は0です。EndNo Integer 値渡し(ByVal) 終了フレーム番号を渡します。
※-1=最終のフレーム番号です。Figure Integer 値渡し(ByVal) 連番の桁数を渡します。 FileName String 値渡し(ByVal) ファイル名(拡張子なし)を渡します。 PicStyle PICTURE_SAVE_STYLE 値渡し(ByVal) 保存する画像形式を渡します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを解放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_FolderName As String = "" ' <- 画像を保存するフォルダのフルパス名. Dim Str_PicFile As String = "" ' <- 保存する画像ファイル名. ' 取り出す画像ファイルの種類を設定. Dim Int_Picture_Save_Style As NSDAVI.PICTURE_SAVE_STYLE _ = NSDAVI.PICTURE_SAVE_STYLE.BMP If ClsPrv_AVI.GetAVIToPicture(Str_FileName, _ Str_FolderName, _ 0, _ -1, _ 5, _ Str_PicFile, _ Int_Picture_Save_Style) Then MsgBox("画像ファイルを取り出しました。") Else MsgBox("画像ファイルの取り出しに失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
CAVIファイルから全フレームを指定画像形式のファイルにします。
構文:Public Overloads Function GetAVIToPicture( AVIFileName , SaveFolder , FileName , Figure , PicStyle , Cls_AVI_Info() ) As Boolean
引数:
名前 型 引数渡しの方法 説明 AVIFileName String 値渡し(ByVal) AVIファイルのフルパス名を渡します。 SaveFolder String 値渡し(ByVal) ファイルを保存するフォルダをフルパス名で渡します。 FileName String 値渡し(ByVal) ファイル名(拡張子なし)を渡します。 Figure Integer 値渡し(ByVal) 連番の桁数を渡します。 PicStyle PICTURE_SAVE_STYLE 値渡し(ByVal) 保存する画像形式を渡します。 Cls_AVI_Info() NSD_AVI_DATA 値渡し(ByVal) AVIデータを指定します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを解放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_FolderName As String = "" ' <- 画像を保存するフォルダのフルパス名. Dim Str_PicFile As String = "" ' <- 保存する画像ファイル名. ' 取り出す画像ファイルの種類を設定. Dim Int_Picture_Save_Style As NSDAVI.PICTURE_SAVE_STYLE _ = NSDAVI.PICTURE_SAVE_STYLE.BMP Dim Cls_AVI_Info() As NSDAVI.NSD_AVI.NSD_AVI_DATA = ClsPrv_AVI.GetAviInfo(Me.Txt_AVIFile.Text) If ClsPrv_AVI.GetAVIToPicture(Str_FileName, _ Str_FolderName, _ Str_PicFile, _ 5, _ Int_Picture_Save_Style, _ Cls_AVI_Info) Then MsgBox("画像ファイルを取り出しました。") Else MsgBox("画像ファイルの取り出しに失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
DAVIファイルから指定フレームを指定画像形式のファイルにします。
構文:Public Overloads Function GetAVIToPicture( AVIFileName , SaveFolder , SelectNo , FileName , PicStyle, Cls_AVI_Info() ) As Boolean
引数:
名前 型 引数渡しの方法 説明 AVIFileName String 値渡し(ByVal) AVIファイルのフルパス名を渡します。 SaveFolder String 値渡し(ByVal) ファイルを保存するフォルダをフルパス名で渡します。 SelectNo Integer 値渡し(ByVal) 指定フレーム番号を渡します。
※先頭のフレーム番号は0です。FileName String 値渡し(ByVal) ファイル名(拡張子なし)を渡します。 PicStyle PICTURE_SAVE_STYLE 値渡し(ByVal) 保存する画像形式を渡します。
Cls_AVI_Info() NSD_AVI_DATA 値渡し(ByVal) AVIデータを指定します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを解放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_FolderName As String = "" ' <- 画像を保存するフォルダのフルパス名. Dim Str_PicFile As String = "" ' <- 保存する画像ファイル名. ' 取り出す画像ファイルの種類を設定. Dim Int_Picture_Save_Style As NSDAVI.PICTURE_SAVE_STYLE _ = NSDAVI.PICTURE_SAVE_STYLE.BMP Dim Cls_AVI_Info() As NSDAVI.NSD_AVI.NSD_AVI_DATA = ClsPrv_AVI.GetAviInfo(Me.Txt_AVIFile.Text) If ClsPrv_AVI.GetAVIToPicture(Str_FileName, _ Str_FolderName, _ 0, _ Str_PicFile, _ Int_Picture_Save_Style, _ Cls_AVI_Info) Then MsgBox("画像ファイルを取り出しました。") Else MsgBox("画像ファイルの取り出しに失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
EAVIファイルから指定範囲のフレームを指定画像形式のファイルにします。
構文:Public Overloads Function GetAVIToPicture( AVIFileName , SaveFolder , StartNo , EndNo , Figure , FileName , PicStyle , Cls_AVI_Info() ) As Boolean
引数:
名前 型 引数渡しの方法 説明 AVIFileName String 値渡し(ByVal) AVIファイルのフルパス名を渡します。 SaveFolder String 値渡し(ByVal) ファイルを保存するフォルダをフルパス名で渡します。 StartNo Integer 値渡し(ByVal) 開始フレーム番号を渡します。
※先頭のフレーム番号は0です。EndNo Integer 値渡し(ByVal) 終了フレーム番号を渡します。
※-1=最終のフレーム番号です。Figure Integer 値渡し(ByVal) 連番の桁数を渡します。 FileName String 値渡し(ByVal) ファイル名(拡張子なし)を渡します。 PicStyle PICTURE_SAVE_STYLE 値渡し(ByVal) 保存する画像形式を渡します。 Cls_AVI_Info() NSD_AVI_DATA 値渡し(ByVal) AVIデータを指定します。 戻り値:Boolean
戻り値の説明:
True:成功 False:失敗
使用例:
Public Class Form1 ' NSDAVIを初期化します. Dim ClsPrv_AVI As New NSDAVI ' FormClosing. Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Try ' AVI用リソースを解放します. ClsPrv_AVI.Cls_Dispose() Catch ex As Exception Finally End Try End Sub Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_FolderName As String = "" ' <- 画像を保存するフォルダのフルパス名. Dim Str_PicFile As String = "" ' <- 保存する画像ファイル名. ' 取り出す画像ファイルの種類を設定. Dim Int_Picture_Save_Style As NSDAVI.PICTURE_SAVE_STYLE _ = NSDAVI.PICTURE_SAVE_STYLE.BMP Dim Cls_AVI_Info() As NSDAVI.NSD_AVI.NSD_AVI_DATA = ClsPrv_AVI.GetAviInfo(Me.Txt_AVIFile.Text) If ClsPrv_AVI.GetAVIToPicture(Str_FileName, _ Str_FolderName, _ 0, _ -1, _ 5, _ Str_PicFile, _ Int_Picture_Save_Style, _ Cls_AVI_Info) Then MsgBox("画像ファイルを取り出しました。") Else MsgBox("画像ファイルの取り出しに失敗しました。") End If Catch ex As Exception Finally End Try End Sub End Class
名前:GetErrorNo
構文:Public Function GetErrorNo() As ErrorNo
機能:エラー番号を返します。
引数:なし。
戻り値:ErrorNo
戻り値の説明:
エラー番号を返します。
使用例:
Public Class Form1 : Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_FolderName As String = "" ' <- 画像を保存するフォルダのフルパス名. Dim Str_PicFile As String = "" ' <- 保存する画像ファイル名. ' 取り出す画像ファイルの種類を設定. Dim Int_Picture_Save_Style As NSDAVI.PICTURE_SAVE_STYLE _ = NSDAVI.PICTURE_SAVE_STYLE.BMP Using Cls_AVIData As New NSDAVI.NSD_AVI If Cls_AVIData.GetAVIToPicture(Str_FileName, _ Str_FolderName, _ Str_PicFile, _ 5, _ Int_Picture_Save_Style) Then MsgBox("画像ファイルを取り出しました。") Else MsgBox("画像ファイルの取り出しに失敗しました。 エラー番号:" & CStr(Cls_AVIData.GetErrorNo())) End If End Using Catch ex As Exception Finally End Try End Sub : End Class
名前:GetErrorMsg
構文:Public Function GetErrorMsg() As String
機能:エラーメッセージを返します。
引数:なし。
戻り値:String
戻り値の説明:
エラーメッセージを返します。
使用例:
Public Class Form1 : Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_FolderName As String = "" ' <- 画像を保存するフォルダのフルパス名. Dim Str_PicFile As String = "" ' <- 保存する画像ファイル名. ' 取り出す画像ファイルの種類を設定. Dim Int_Picture_Save_Style As NSDAVI.PICTURE_SAVE_STYLE _ = NSDAVI.PICTURE_SAVE_STYLE.BMP Using Cls_AVIData As New NSDAVI.NSD_AVI If Cls_AVIData.GetAVIToPicture(Str_FileName, _ Str_FolderName, _ Str_PicFile, _ 5, _ Int_Picture_Save_Style) Then MsgBox("画像ファイルを取り出しました。") Else MsgBox("画像ファイルの取り出しに失敗しました。" & ControlChars.CrLf & Cls_AVIData.GetErrorMsg()) End If End Using Catch ex As Exception Finally End Try End Sub : End Class
●NSD_AVIイベントの説明
名前:EventGetAVIToPictureOneData
構文:Public Event EventGetAVIToPictureOneData( Cls_AviData , Stop )
機能:GetAVIToPictureで1データ取得時に発生するイベント。
引数:
名前 型 引数渡しの方法 説明 Cls_AviData NSD_AVI_DATA 値渡し(ByVal) AVIの1データを渡します。 Stop Boolean 参照渡し(ByRef) 取得を中止するかを渡します。
True:中止 False:中止しません(既定値)戻り値:なし。
使用例:
Public Class Form1 : Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim Str_FileName As String = "" ' <- AVIファイルのフルパス名. Dim Str_FolderName As String = "" ' <- 画像を保存するフォルダのフルパス名. Dim Str_PicFile As String = "" ' <- 保存する画像ファイル名. ' 取り出す画像ファイルの種類を設定. Dim Int_Picture_Save_Style As NSDAVI.PICTURE_SAVE_STYLE _ = NSDAVI.PICTURE_SAVE_STYLE.BMP Using Cls_AVIData As New NSDAVI.NSD_AVI AddHandler Cls_AVIData.EventGetAVIToPictureOneData, AddressOf GetAVIToPictureOneData Try If Cls_AVIData.GetAVIToPicture(Str_FileName, _ Str_FolderName, _ Str_PicFile, _ 5, _ Int_Picture_Save_Style) Then MsgBox("画像ファイルを取り出しました。") Else MsgBox("画像ファイルの取り出しに失敗しました。") End If Catch ex As Exception Finally RemoveHandler Cls_AVIData.EventGetAVIToPictureOneData, AddressOf GetAVIToPictureOneData End Try End Using Catch ex As Exception Finally End Try End Sub : Public Sub GetAVIToPictureOneData(ByVal ClsVal_AviData As NSDAVI.NSD_AVI.NSD_AVI_DATA, _ ByRef BlnRef_Stop As Boolean) Application.DoEvents() End Sub End Class
Copyright (C) 2009-2012 Nihon System Developer Corp. All Rights Reserved.