PictBear:プラグインは、borland bcc32 で?

2015-04-09 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での blogramのランクインカテゴリは、
6、1、0、1、1、 0、0、0、0、0(41)で、換算ポイント 74pt 。
3日前の午前に「グルコサミン」「FM COCOLO」「Firefox」で
bg値が僅かにアップ。一昨日朝方「Firefox」が4位にアップし、
「グルコサミン」でbg値若干アップ。
昨日朝方「Firefox」が3位にアップし、「グルコサミン」bg値若干アップ。
今朝方「Firefox」が4位にダウンし、「グルコサミン」bg値若干ダウン。
「C言語」「Python」は変化が無かった。
・-・ - -・


さて、本文。

前回(2015-04-06)の記事:「PictBear:プラグイン作れそう!?
で、
  ・・・・・
  ・・・・・
  このフォルダには PictBear 用の開発キットがあります。
  現在提供されているのはプラグイン開発キット、多言語対応開発キットです。
  ・・・・・
  ・・・・・
などと書いた。


インストールフォルダの、
「/Fenrir Inc/PictBear Second Edition/sdk/plugin/filters/」
には、「V0」と「V1」の2つがある。

新しい(?)のがイイかどうかは分からないが、
「/V1/Samples/SwapWB/」に、
「SwapWB.c」がある。
見ると、

//---------------------------------------------------------------------
// PictBear Swap White and Black Filter Plugin
// Copyright (C) 2000-2003 by Yasuyuki Kashiwagi. All Rights Reserved.
//
// $Version 1.00 [2003/06/26]
//
// 白と黒を交換するフィルタプラグインです。
//
// このソースの改変・配布は自由に行ってください。不具合修正等は大歓迎です。
//---------------------------------------------------------------------

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include "../../../../PbPlugin.h"

#ifdef __cplusplus
#define DLLExport extern "C" __declspec (dllexport)
#else
#define DLLExport __declspec (dllexport)
#endif

// TODO: 1つのプラグインには複数のフィルタを登録できます。
// 登録するフィルタの数を定義してください。
#define FILTER_IN_PLUGIN 1



これは、標準で組み込まれている:
「フィルタ」→「3:カラー」→「5:白と黒の交換」
を取り出した“サンプル”ソースコードの様ダ。


早速、“gcc”つまり「MinGW」でコンパイル。
と云っても、今では、
Clang(+MinGW)でCソースをコンパイル(&リンク)
で書いた「DnD_c2dll.py」に依る「dll」作成です。

ここで、“日本語コード”がコンパイラで、警告エラー。
これは、保存時の文字コードを“utf-8”に変えて、
無事「dll」作成できた。

だが、「PictBear」で新しいプラグインを認識してくれない???


「/Fenrir Inc/PictBear Second Edition/sdk/plugin/filters/」
の中を虱潰しに見たら、・・・・・

「/V0/Generic/」にある「Generic.c」
これは、標準で組み込まれている:
「フィルタ」→「5:サンプルプラグイン」→「0:赤成分のみ取得」等々
の様だが。
こちらのコメントでは:

//-------------------------------------------------------------------
// PictBear Sample Filter Plugin
// Copyright (C) 2000-2003 by Yasuyuki Kashiwagi. All Rights Reserved.
//
// SDK 用のサンプルフィルタです。
//
// Borland C++ Compiler 5.5、VC6 での動作を確認しています。
// >bcc32 -tWD -eGeneric.ppi Generic.c
// >cl /LD /FeGeneric.ppi Generic.c
//
// C++ を使える方は GenFilter.h を使用すると効率的にフィルタを作成するこ
// とができます。詳しくは Mask/Block フィルタ等のソースを参照して下さい。
//
// このソースの改変・配布は自由に行ってください。
//-------------------------------------------------------------------



つまり、“gcc”では保証の限りでは無い???
“Borland C++ Compiler 5.5”か“VC6”なら、保証されている。

そう云えば、
Borland C++ Compiler 5.5」は、
2年前(2013-04-07)の記事:「GUIアプリ開発も・・・
で書いた如く、導入していた。

なので、
「/V0/Generic/」の「Generic.c」を、
<紙>流に改造して、
  bcc32 -tWD -eGeneric.ppi Generic.c
と、コンパイル。

今度は、日本語コード対応に付いては逆で、
ファイルを“Shift-JIS”コードで保存。

これで、
「SwapWB.ppi」を「PictBear」が追加プラグインとして認識してくれた。

なんとか、作れそうダ???


ここで、学習したのは、
“Borland C++ Compiler 5.5”のパス設定は、
インストールフォルダ「C:/borland/bcc55/Bin/」にある、
「bcc32.cfg」ファイルで定義すること!
だった。
このファイルは無かったので、
  -IC:¥Borland¥Bcc55¥Include
  -LC:¥Borland¥Bcc55\¥Lib
の2行だけのファイルを作った。


それから、
自作プラグイン内でファイル入出力したいのだが、
プラグインが動くときの「カレントディレクトリ」はどこ?

(1)「PictBear」の「ファイル」メニューから開いた時は、
  その画像ファイルの在る処

(2)「PictBear」の画面内に、
  画像ファイルを“ドラッグ&ドロップ”した時は、、
  デスクトップに。

(3)新規作成画像の場合も、
  デスクトップに。

これは、悩ましい問題ダ!


また、そもそもの発端だった、
ImageJ プラグイン:大津の2値化
対抗だと、
「Python」の「OpenCV」を使うのがベスト(?)なので、
自作プラグイン(C言語)からPythonを呼び出したいのだが、
これは、どうすればイイの???
昨年(2015-05-17)の記事:「Python 学習:Python to/from C
って、「C で作った dll」から「Python」を呼び出した経験が無い!!!


取り敢えず、「bcc32」を使えば、プラグインを作ることができそうだが、
解決すべき課題が多い。


頑張って、学習してみよう。 ・・・・・・・・・・


本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


150318
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
10 | 2017/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク