C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: 8ビットグレースケールJpegの作成方法


(過去ログ 82 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■48744 / inTopicNo.1)  8ビットグレースケールJpegの作成方法
  
□投稿者/ うまい棒大好き (1回)-(2010/04/13(Tue) 19:49:53)

分類:[VB.NET/VB2005 以降] 

VB2008で画像変換ツールを作成しています。
いろいろなサイトを見て、グレースケールの画像変換に挑戦しているのですが、うまくいきません。
まず、 PixelFormatがFormat24bppRgbであるビットマップを用意し、
各ピクセルのRGB値を同じにして、このビットマップを保存(bitmap.Save(ファイル名, ImageFormat.Jpeg)しました。
しかし、このように作成したJpegファイルをあるソフトに読ませると、
「Jpegはグレースケールでなければなりません」
というエラーが表示されます。
(このソフトでは、Jpegファイルはグレースケールでないと読んでくれません。)
市販ソフトには、8ビットグレースケールJpegを作成することができるものがあるようですが、
それと同じようにグレースケールJpegファイルを作成するにはどうすればよいのでしょうか?
そもそも、PixelFormatをFormat24bppRgbで作成しているのが間違いなのでしょうか?
よろしくお願いします。
引用返信 編集キー/
■48747 / inTopicNo.2)  Re[1]: 8ビットグレースケールJpegの作成方法
□投稿者/ Hongliang (601回)-(2010/04/13(Tue) 21:12:33)
GDI+ 1.0 の Jpeg エンコーダは 8bppGrayscale をサポートしてません。
// Windows 7 に GDI+ の新バージョンが乗っててそっちではサポートしてるって話を見かけたけどどうなんだろ。
なので、GDI+ を利用している System.Drawing を使う限り、8bppGrayscale で保存することはできません。

ちなみに、WPF が利用している WIC なら多分サポートされてますので、WPF の JpegBitmapEncoder なら保存可能です。FormatConvertedBitmap を使えば変換もお手軽。
引用返信 編集キー/
■48749 / inTopicNo.3)  Re[2]: 8ビットグレースケールJpegの作成方法
□投稿者/ うまい棒大好き (2回)-(2010/04/13(Tue) 21:40:20)
No48747 (Hongliang さん) に返信
Hongliang 様、コメントありがとうございます。

> ちなみに、WPF が利用している WIC なら多分サポートされてますので、WPF の JpegBitmapEncoder なら保存可能です。FormatConvertedBitmap を使えば変換もお手軽。

ところで、WPFをVB2008で利用するには、どのようにすればよいのでしょうか?
(何を参照設定すればよいでしょうか?)
また、参考になるサンプルはどこかにありますでしょうか?
色々調べてみたのですが、VBのサンプルらしきものが見つかりませんでした。
よろしくお願いします。
引用返信 編集キー/
■48750 / inTopicNo.4)  Re[3]: 8ビットグレースケールJpegの作成方法
□投稿者/ Hongliang (602回)-(2010/04/13(Tue) 21:54:02)
> ところで、WPFをVB2008で利用するには、どのようにすればよいのでしょうか?
> (何を参照設定すればよいでしょうか?)
使用したいクラスを MSDN で調べて、そこの「アセンブリ」ってとこに記述されているのを参照して下さい。
ただし、WPF は .NET Framework 3.0 に含まれるライブラリであり、これを使用する場合、実行する PC に .NET Framework 3.0 がインストールされている必要があります(VS2008 ならプロジェクトのデフォルトターゲットが .NET 3.5 なので、.NET 3.5 が入ってるなら .NET 3.0 も使用可能なはず)。

> また、参考になるサンプルはどこかにありますでしょうか?
> 色々調べてみたのですが、VBのサンプルらしきものが見つかりませんでした。
WPF は C# の記事がほとんどでしょうね。
MSDN のサンプルコードが一番参考になるのではないでしょうか。
あとは web に転がってる C#/VB コンバータを使うとか。
引用返信 編集キー/
■48813 / inTopicNo.5)  Re[4]: 8ビットグレースケールJpegの作成方法
□投稿者/ うまい棒大好き (3回)-(2010/04/14(Wed) 22:00:45)
No48750 (Hongliang さん) に返信
MSDNを調べて、なんとかやってみます。
ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -