Henry Le Chatelier
とりあえず、いろいろな情報を載せて生きたいと、考えております。
記事に不明な点があれば、お気軽にコメント欄等でお伝え頂けると幸いです。
<<香落渓・御杖ドライブ 2014年秋 ついでに、古光山の山頂でも | ホーム | 香落渓・御杖ドライブ 2014年秋 3 「奈良県にはいると 道が広くなる法則」>>
VB2008でBitmapオブジェクトを直接Bitmapファイルとして出力させるコード
最近の私は、
私の作成したソフトを、
「wine1.6.2」+Monoランタイム環境(2.0)に
対応させることに
凝っている訳ですが。
その中で。
従前の記事の通り、出力できる画像が、
png形式しか、選択できない。
と言う事実を、知りました。
http://oyk3865b.blog13.fc2.com/blog-entry-1607.html
これを、どうにかできないか?
と、考えた結果。
以前の記事の通り、
bmp形式に関しては、
内部バイナリ構造を、調べているので。
http://oyk3865b.blog13.fc2.com/blog-entry-1394.html
,,ノ ,, : : : : // //| / / / / // /
 ̄ / : : : ヽニニ〃 | .| ー/ ̄| Tーーー--ノ/ /Λ
. / : : : : : : : ノ〈⌒V i r=≠V===《 l ヽ // | だったら
. ./ : : : : ,, - | | { / 《iin C ヽ  ̄ ̄V } 自力で
. レ| λ ノ^| : : : :/ .| ハ ヽ | 乂ヽノ::ツ > \/ \ } バイナリを
.ノ ノ V l : : : | i / λ |  ̄⌒ ヽ , >,、 \
-'' 7{⌒.V| ヽ ヽハ .{ \| 〃 乂iinCヽ .| 叩くしか
ノ ヘ . .| |こ ゝ∂  ̄ V::ツ \ ./ ないじゃない!!
ノ ヘ { ヽ┐_,,-.,/ _ \ ./ /
「 ヘ ヘ / -- \ /--  ̄ ̄ ヽ ノ / ,,ノ,,,―― 、
i ヘ \ / イ^ヽ /ヽ \  ̄ ヨ /  ̄/ ヽ
ヘ ヘ ,,-/ 人 ,, ― 、ノヽ } // / ヘ
ヘ ヘ/ { .| /;;;;;;;;;;;;;;;;;;__ノ| i个 イ ヘ
-―-- 、 > / .{ .| ̄ ヽ;;;;;;;;;;;;;;ノ / i ヽ --ー―――――ー ⌒ ヽ ,, -―-- ,,
,,--―こ>,, ―.i 乂 ゝ/.ゝーー V /.} } r--ー'' ̄ ̄ ̄/ V^ ̄ ノ
/ / :::::| .,-、r/,\ V_|_,,ヽ/ /,/―「V_,, / ヽ /
. / { ::::i .l .|////ヽ,, ///./ニ/ /-- ヽ / ,, / 「 ̄ <,,
/ .i / λ///////ー ''/////,|< T ヾ /-
※AAは、http://yaruo.b4t.jp/index.php?id=HukuTemp/%E9%AD%94%E6%B3%95%E5%B0%91%E5%A5%B3%E3%81%BE%E3%81%A9%E3%81%8B%E2%98%86%E3%83%9E%E3%82%AE%E3%82%AB/%E5%B7%B4%E3%83%9E%E3%83%9F/%E5%B7%B4%E3%83%9E%E3%83%9F03%EF%BC%88%E6%88%A6%E9%97%98%EF%BC%89.mlt より引用しました。
と、Bitmapファイル内のバイナリ構造から
自力で一から作ろう。という結論に至りました。
そして。書いた。
VB2008でBitmapオブジェクトを
直接Bitmapファイルとして出力させるコードが、
以下の通りでございます。
また、
以下のコードは、
直接、「新規Windowsフォームアプリケーション」でのFormに、
そのまま、貼り付けるだけで、
動作するようにしてありますが。
あくまで、公開用に必要部分だけに留め
端折ったコードですので、
不十分な部分が多々ございますので、
遂次、ご自身で、修正いただけると幸いです。
上記のコードの動作確認の資料として。
上記のコードでは、コメントアウトしている。
”通常”の方法で保存した、
比較用のBitmap画像との、バイナリ比較を、
比較用ソフト『Stirling』などを利用させてもらって
http://www.vector.co.jp/soft/dl/win95/util/se079072.html
比較した結果を、示します。
(※↑この画像は、クリックすると大きくなります。)
そして、ヘッダー内の
・BiSizeImage
・BiXPelsPerMeter
・BiYPelsPerMeter
以上、3点が、
バイナリを実際に叩いて作成したものと、
”通常の方法”で作成したもので、違いがありましたが、
画像本体部分の内容などには相違がなく
どうやら、今のところは、
画像の表示に問題はなさそうだと感じております。
ただし。
今回の目的である。
Linux上の、「wine1.6.2」+Monoランタイム環境(2.0)であると、
■バイナリを実際に叩いて作成したものは表示され、
(直上の画像、右上の窓。)
■”通常の方法”で作成したものは、表示されない。
(直上の画像、左下の窓。)
と、動作に大きな違いが見られました。
因って。
以上のコードを用いることで
「wine1.6.2」+Monoランタイム環境(2.0)で、
png以外に、bmp形式の画像も、
出力することが出来る事になり、目的を達成できました。
以上
大変、大まかで不十分かつ、長ったるいコードですが。
何かのお役に立てれば、幸いでございます。
ありがとうございました。
私の作成したソフトを、
「wine1.6.2」+Monoランタイム環境(2.0)に
対応させることに
凝っている訳ですが。
その中で。
従前の記事の通り、出力できる画像が、
png形式しか、選択できない。
と言う事実を、知りました。
http://oyk3865b.blog13.fc2.com/blog-entry-1607.html
これを、どうにかできないか?
と、考えた結果。
以前の記事の通り、
bmp形式に関しては、
内部バイナリ構造を、調べているので。
http://oyk3865b.blog13.fc2.com/blog-entry-1394.html
,,ノ ,, : : : : // //| / / / / // /
 ̄ / : : : ヽニニ〃 | .| ー/ ̄| Tーーー--ノ/ /Λ
. / : : : : : : : ノ〈⌒V i r=≠V===《 l ヽ // | だったら
. ./ : : : : ,, - | | { / 《iin C ヽ  ̄ ̄V } 自力で
. レ| λ ノ^| : : : :/ .| ハ ヽ | 乂ヽノ::ツ > \/ \ } バイナリを
.ノ ノ V l : : : | i / λ |  ̄⌒ ヽ , >,、 \
-'' 7{⌒.V| ヽ ヽハ .{ \| 〃 乂iinCヽ .| 叩くしか
ノ ヘ . .| |こ ゝ∂  ̄ V::ツ \ ./ ないじゃない!!
ノ ヘ { ヽ┐_,,-.,/ _ \ ./ /
「 ヘ ヘ / -- \ /--  ̄ ̄ ヽ ノ / ,,ノ,,,―― 、
i ヘ \ / イ^ヽ /ヽ \  ̄ ヨ /  ̄/ ヽ
ヘ ヘ ,,-/ 人 ,, ― 、ノヽ } // / ヘ
ヘ ヘ/ { .| /;;;;;;;;;;;;;;;;;;__ノ| i个 イ ヘ
-―-- 、 > / .{ .| ̄ ヽ;;;;;;;;;;;;;;ノ / i ヽ --ー―――――ー ⌒ ヽ ,, -―-- ,,
,,--―こ>,, ―.i 乂 ゝ/.ゝーー V /.} } r--ー'' ̄ ̄ ̄/ V^ ̄ ノ
/ / :::::| .,-、r/,\ V_|_,,ヽ/ /,/―「V_,, / ヽ /
. / { ::::i .l .|////ヽ,, ///./ニ/ /-- ヽ / ,, / 「 ̄ <,,
/ .i / λ///////ー ''/////,|< T ヾ /-
※AAは、http://yaruo.b4t.jp/index.php?id=HukuTemp/%E9%AD%94%E6%B3%95%E5%B0%91%E5%A5%B3%E3%81%BE%E3%81%A9%E3%81%8B%E2%98%86%E3%83%9E%E3%82%AE%E3%82%AB/%E5%B7%B4%E3%83%9E%E3%83%9F/%E5%B7%B4%E3%83%9E%E3%83%9F03%EF%BC%88%E6%88%A6%E9%97%98%EF%BC%89.mlt より引用しました。
と、Bitmapファイル内のバイナリ構造から
自力で一から作ろう。という結論に至りました。
そして。書いた。
VB2008でBitmapオブジェクトを
直接Bitmapファイルとして出力させるコードが、
以下の通りでございます。
また、
以下のコードは、
直接、「新規Windowsフォームアプリケーション」でのFormに、
そのまま、貼り付けるだけで、
動作するようにしてありますが。
あくまで、公開用に必要部分だけに留め
端折ったコードですので、
不十分な部分が多々ございますので、
遂次、ご自身で、修正いただけると幸いです。
上記のコードの動作確認の資料として。
上記のコードでは、コメントアウトしている。
”通常”の方法で保存した、
比較用のBitmap画像との、バイナリ比較を、
比較用ソフト『Stirling』などを利用させてもらって
http://www.vector.co.jp/soft/dl/win95/util/se079072.html
比較した結果を、示します。
(※↑この画像は、クリックすると大きくなります。)
そして、ヘッダー内の
・BiSizeImage
・BiXPelsPerMeter
・BiYPelsPerMeter
以上、3点が、
バイナリを実際に叩いて作成したものと、
”通常の方法”で作成したもので、違いがありましたが、
画像本体部分の内容などには相違がなく
どうやら、今のところは、
画像の表示に問題はなさそうだと感じております。
ただし。
今回の目的である。
Linux上の、「wine1.6.2」+Monoランタイム環境(2.0)であると、
■バイナリを実際に叩いて作成したものは表示され、
(直上の画像、右上の窓。)
■”通常の方法”で作成したものは、表示されない。
(直上の画像、左下の窓。)
と、動作に大きな違いが見られました。
因って。
以上のコードを用いることで
「wine1.6.2」+Monoランタイム環境(2.0)で、
png以外に、bmp形式の画像も、
出力することが出来る事になり、目的を達成できました。
以上
大変、大まかで不十分かつ、長ったるいコードですが。
何かのお役に立てれば、幸いでございます。
ありがとうございました。
スポンサーサイト
<<香落渓・御杖ドライブ 2014年秋 ついでに、古光山の山頂でも | ホーム | 香落渓・御杖ドライブ 2014年秋 3 「奈良県にはいると 道が広くなる法則」>>
コメント
コメントの投稿
トラックバック
この記事にトラックバックする(FC2ブログユーザー) URL
| ホーム |