KBC(ver.1.00)リファレンス

by Hippo2000 (1999/4/24)


目次


はじめに

KBC.DLLをダウンロードしていただきありがとうございます。

KBC.DLLはKBC.DLLは明熊さんが開発したSaveJPG.DLL(Ver.2.00)を呼び出すことで、BMP形式のファイルをJPEG形式のファイルに変換するActiveX.DLLです。

JPEG形式の画像ファイルをBMP形式のファイルに変換するためのメソッドもついています。
一時ファイルに展開し、それを読み込むことでメモリ上に展開するようなメソッドもつけました。

KBC.DLLを使うことにより、VBやVBAといったDLLを呼び出せる言語だけでなく、VBScriptのようにDLLを直接呼び出せない言語でも簡単に画像ファイルの変換がおこなえます。

明熊さんのSaveJPG.DLLは以下のサイトなどで取得できます。
※ このプログラムではVer.2.00に対応しています。ご注意ください。

明熊工房ホームページ ダウンロードサイト
    http://www.geocities.co.jp/SiliconValley/3944/Download.html


簡単な使い方

※VBやVBAで使う場合には、「参照設定」で「Hippo2000's BMP<->JPEG Convert (KBC)」を選択すると便利です。

TEST.BMPというBMP形式のファイルをTEST.JPGというJPEG形式のファイルに変換するためには、以下のように書きます。

BMPtoJPGメソッドについては、以下のリファレンスをご参照ください。

(1)VBまたはVBAの場合

Dim oKbc
Dim nRes
Set oKbc = CreateObject("KBC.Convert")
nRes = oKbc.BMPtoJPG("C:\TEST.BMP","C:\TEST.JPG")

TEST.BMPというBMP形式のJPEG形式でメモリに展開するには、以下のように書きます。

(1)ASP(VBScript)の場合

<% Option Explicit %>
<script Language="VBScript" RUNAT="Server">
'-----------------------------------------------------------------------------
'変数の宣言
'-----------------------------------------------------------------------------
Dim oKbc
Dim nRes
'-----------------------------------------------------------------------------
'KBCオブジェクトの作成、ビットマップをJPEGに変換してメモリに展開
'-----------------------------------------------------------------------------
Set oKbc = CreateObject("KBC.Convert")
nRes = oKbc.ToMemoryJPG("C:\TEST.BMP")
'-----------------------------------------------------------------------------
'Responseを返す
'-----------------------------------------------------------------------------
Response.ContentType = "image/jpeg"
Response.BinaryWrite oKbc.Memory
Set oKbc = Nothing
</script>

(2)Perl(ActivePerl)の場合

use strict;
use Win32::OLE;
#
my $oKbc;
my $nRes;
#-----------------------------------------------------------------------------
#1. KBCオブジェクトの生成
#-----------------------------------------------------------------------------
#KBCはシングルスレッドなので以下のメソッドを呼び出さないとうまく終了しません
Win32::OLE->Initialize(Win32::OLE::COINIT_APARTMENTTHREADED);
$oKbc = Win32::OLE->new('KBC.Convert') or print "KBCの登録ができていないようです!!";
#-----------------------------------------------------------------------------
#2. ビットマップをJPEGに変換してメモリに展開#-----------------------------------------------------------------------------
$nRes = $oKbc->ToMemoryJPG("C:\TEST.BMP");
#-----------------------------------------------------------------------------
#3. イメージを表示する
#-----------------------------------------------------------------------------
binmode(STDOUT);
print <<EOF;
Content-Type: image/jpeg

EOF
print $oKbc->Memory;


メソッド・プロパティの一覧

KBCにはConvertクラスが定義されています。

Convertクラスのメソッド、プロパティには以下のものがあります。

BMPtoJPG M BMP形式のファイルをJPEG形式のファイルに変換します。
JPGtoBMP M JPEG形式のファイルをBMP形式のファイルに変換します。
Memory P(r) ToMemoryBMP,ToMemoryJPGで展開されたイメージを格納します。
ToMemoryBMP M JPEG形式のファイルをBMP形式のファイルに変換し、メモリに展開します。
ToMemoryJPG M BMP形式のファイルをJPEG形式のファイルに変換し、メモリに展開します。
先頭に戻る

BMPtoJPG

種類  :メソッド

概要

BMP形式のファイルをJPEG形式に変換し、ファイルに出力します。

呼出

Public Function BMPtoJPG(vBmpF As Variant,
                vJpgF As Variant, _
                Optional vRate As Byte = 80,
                Optional vPrgrs As Variant = False) As Long

戻り値

処理結果

0 正常終了
-1 指定されたファイルがないなど
-2 指定されたファイルが空
-3 vRateの設定範囲がずれている
-4 vPrgrsがBOOL値ではない
1 ファイルがオープンできない(SaveJPG.DLL)
2 ファイルが書き込めない(SaveJPG.DLL)
3 ファイルのフォーマットエラー(SaveJPG.DLL)
4 スタックオーバーフロー(SaveJPG.DLL)

引数

引数名

I/O

必須

説明

vBmpF

I

変換対象のファイル名(BMP形式)
vJpgF

I

出力ファイル名(JPEG形式)
vRate

I

  圧縮率 1〜100の数値
大きいほど高品質、低圧縮 (デフォルト80)
vPrgrs

I

  プログレッシブ化 (TrueまたはFalse)
先頭に戻る

JPGtoBMP

種類  :メソッド

概要

JPEG形式のファイルをBMP形式に変換し、ファイルに出力します。

呼出

Public Function JPGtoBMP(vJpgF As Variant,
                vBmpF As Variant) As Long

戻り値

処理結果

0 正常終了
-1 指定されたファイルがないなど
-2 指定されたファイルが空
-3 LoadPictureでのエラー
-4 SavePictureでのエラー

引数

引数名

I/O

必須

説明

vJpgF

I

変換対象のファイル名(JPEG形式)

※ VBのLoadPictureで読み取れるものであればなんでもOKのはずですが。

vBmpF

I

出力ファイル名(BMP形式)
先頭に戻る

ToMemoryJPG

種類  :メソッド

概要

指定された画像ファイルをJPEG形式に変換し、Memoryプロパティに出力します。(JPEG形式)

呼出

Public Function ToMemoryJPG(vBmpF As Variant,
                    Optional vRate As Byte = 80,
                    Optional vPrgrs As Variant = False) As Long

戻り値

処理結果(0:正常終了、0以外:エラー BMPtoJPGの戻り値)

引数

引数名

I/O

必須

説明

vBmpF

I

変換するファイル名(BMP形式)
vRate

I

  圧縮率 1〜100の数値
大きいほど高品質、低圧縮 (デフォルト80)
vPrgrs

I

  プログレッシブ化 (TrueまたはFalse)
先頭に戻る

ToMemoryBMP

種類  :メソッド

概要

指定された画像ファイルをBMP形式に変換し、Memoryプロパティに出力します。

呼出

Public Function ToMemoryBMP(vJpgF As Variant) As Long

戻り値

処理結果(0:正常終了、0以外:エラー JPGtoBMPの戻り値)

引数

引数名

I/O

必須

説明

vJpgF

I

変換するファイル名(JPEG形式)

Memory

種類: プロパティ(ReadOnly)

説明

  直前に実行されたToMemoryBMP、ToMemoryJPEGメソッドにより設定されたバーコードイメージを保持します。

先頭に戻る

連絡先情報

電子メールアドレス
GCD00051@nifty.ne.jp

Web アドレス
http://homepage3.nifty.com/hippo2000

先頭に戻る

感想や意見

このページに関する感想や提案などをメールにてお送りください

先頭に戻る