ラベル ダウンロード の投稿を表示しています。 すべての投稿を表示
ラベル ダウンロード の投稿を表示しています。 すべての投稿を表示

2011年9月19日月曜日

html2txt: HTML ファイルからテキスト文章の抽出

html2txt: HTML ファイルからテキスト文章を抽出する例です。

html2txt により抽出されたテキストの例:

html2txt コマンドに与えられる引数(#define USE_LIB 0 としてビルド):

USAGE: html2txt htmlfile [-disp] [-link] [-out textfile] [-url baseurl]
-disp: ファイルに出力される HTML を標準出力(stdout)へ出力するように変更
-link: リンク部のタグを残したまま出力
-out textfile: 出力するファイル名を .txt 等から指定のファイル名に変更
-url baseurl: リンクを出力する際、ベースとなる URL を設定することにより相対参照を絶対参照に変更

ソース等をまとめたもの:DL(html2txt.zip)

html2txt.cpp(HTML 記号をテキストに変換する処理の部分が記号として変換されて表示されているため、上の html2txt.zip に含まれるソースをDLしてご利用ください)

html2txt.h 実行結果

2011年9月18日日曜日

cpp2html クラスを利用した HTML 出力フォーマットの変更

cpp2html クラスを利用した HTML 出力のフォーマットを変更する例です。

例題により変換された HTML の例:exp1.cpp / samp.html

ソース等をまとめたもの:DL(cpp2html.zip)

exp1.cpp 実行結果 exp2.cpp

cpp2html:C言語ソースファイルからHTMLファイルへの変換

cpp2html:C言語ソースファイルからHTMLファイルへの変換を実装する例です。

以下の例では、ソースファイルからHTMLファイルに変換するクラスを cpp2html.cpp/cpp2html.h に記述し、そのクラスを利用し対応するソースファイル(.c,.cc,.cpp,.h,.hh,.hpp)を一括してHTMLに変換するためのコマンドラインアプリを作成する例(src2html.cpp)を掲載しています。

src2html により変換された HTML の例:cpp2html.cpp / cpp2html.h / src2html.cpp

cpp2html コマンドに与えられる引数(#define USE_LIB 0 としてビルド):

USAGE: cpp2html srcfile [-disp] [-plain] [-out htmlfile] [-t n] [-no]
-disp: ファイルに出力される HTML を標準出力(stdout)へ出力するように変更
-plain: HTML ヘッダを省き、ソース部分のみ HTML 化したコードを出力
-t n: タブを空白に置き換える際の空白数を n で与える
-out htmlfile: 出力するファイル名を _cpp.html 等から指定のファイル名に変更

ソース等をまとめたもの:DL(cpp2html.zip)

cpp2html.cpp

cpp2html.h

src2html.cpp 実行結果

Makefile

2011年9月7日水曜日

ビットマップファイルフォーマットのグレースケール化

ビットマップファイルフォーマット(8bit:256パレットカラー/16bit:RGB565/24bit:RGB888/32bit:RGBA8888)の画像の読取/グレースケール化の例です。

以下の例では、読み込んだビットマップファイルを 24bit 濃淡画像として保存しています。
引数にビットマップファイルを指定し、実行すると "gray.bmp" という名前でファイルが保存されます。

ビットマップの読取ライブラリに関しては こちら

BMP読み込みライブラリ等:DL (bmploader.zip)

2011年4月16日土曜日

PNM(Portable anymap ファイルフォーマット)の読み取り/編集/保存、BMPへの変換

PNM 画像の読取/編集/保存例です。

PNM(portable anymap ファイルフォーマット)は、pbm(portable bitmap)、pgm(portable graymap)、ppm(portable pixmap)の各画像フォーマットを総称した名前です。
PNM のファイル形式はテキスト/バイナリ形式を選択することにより、メモ帳等でも簡単に編集することが可能です。

その形式には以下の6種類があります。
P1 (PBM) 2値画像 テキスト形式
P2 (PGM) 濃淡画像 テキスト形式
P3 (PPM) カラー画像 テキスト形式
P4 (PBM) 2値画像 バイナリ形式
P5 (PGM) 濃淡画像 バイナリ形式
P6 (PPM) カラー画像 バイナリ形式

P4〜P6 の形式では画像のヘッダ部分を除いた画像データ部をバイナリ形式で出力しなければならないので、メモ帳等での編集は無理ですが、P1〜P3 の形式はテキスト形式で画像の輝度・色情報(R,G,B)を書き込むことができ、メモ帳等で編集することが可能です。

ファイルフォーマットは以下のようなものです。
Pn | → マジックナンバー: P1〜P6
5 5 +--- ヘッダ部 → 横幅 縦幅
5 | → 最大輝度値(PBMでは必要ない)
0 1 0 1 0 |
0 1 0 1 0 |
0 1 0 1 0 +---画像データ部(PBM,PGMの場合)
0 1 0 1 0 | (PPMでは R,G,B の順に記述)
0 1 0 1 0 |

例題では、PGM/PPM 画像の書き出し、PPM 画像の読み込み、編集した画像の BMP への出力を行っています。

ソース等をまとめたもの:DL(PPM 画像含む)

編集や閲覧用のソフトが手近にない場合は、Windows では Susie/Irfanview、OSX/Linux では GIMP2 にてお試しください。

pnm_output.cpp

pnm_lib.h

pnm_lib.cpp
実行結果

処理結果(grayscale.bmp)

処理結果(colorscale.bmp)

処理結果(output.bmp)