C#からプラグインが利用できれば、過去の遺産を流用して画像やアーカイブの展開が可能です。
そこで、プラグインをC#, VB.NETから簡単に呼び出せるように、
.NET Framwork用のクラスライブラリを作成しました。
とりあえず、サンプルを載せておきます。
興味がある方は使ってみてください。
C#からプラグインが利用できれば、過去の遺産を流用して画像やアーカイブの展開が可能です。
そこで、プラグインをC#, VB.NETから簡単に呼び出せるように、
.NET Framwork用のクラスライブラリを作成しました。
とりあえず、サンプルを載せておきます。
興味がある方は使ってみてください。
private void menuFileOpen_Click(object sender, EventArgs e) { SpiMngx.SpiManager manager = new SpiMngx.SpiManager(); try { // ファイル選択ダイアログ OpenFileDialog dlg = new OpenFileDialog(); // ファイル選択ダイアログ用のファイルフィルタを作成 dlg.Filter = manager.GetFileFilter(); if (dlg.ShowDialog() != DialogResult.OK) return; // プラグインの対応確認 SpiMngx.ArchivePlugin spi = manager.QueryArchivePlugin(dlg.FileName); if (spi == null) return; // ファイル情報のコレクションを取得 SpiMngx.FileInfoCollection infoCol = spi.GetArchiveInfo(dlg.FileName); // 書庫内のすべてのファイルを展開 string destPath = System.IO.Path.GetDirectoryName(dlg.FileName); foreach (SpiMngx.FileInfo info in infoCol) { spi.GetFile(dlg.FileName, info, System.IO.Path.Combine(destPath, info.FileName)); } } catch (System.Exception exception) { MessageBox.Show(exception.Message, exception.Source); } finally { manager.Dispose(); } }
Private Sub buttonOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonOpen.Click Dim manager As New SpiMngx.SpiManager() Try 'ファイル選択ダイアログ Dim dlg As New OpenFileDialog dlg.Filter = manager.GetFileFilter() If dlg.ShowDialog() <> Windows.Forms.DialogResult.OK Then Exit Sub End If '対応プラグインを検索 Dim spi As SpiMngx.ImagePlugin = manager.QueryImagePlugin(dlg.FileName) If spi Is Nothing Then Exit Sub End If '画像を表示 Me.PictureBox1.Image = spi.GetPicture(dlg.FileName) Finally manager.Dispose() '全プラグインを解放 End Try End Sub