2011-01-12 10 views
1

を実行しているマックOSX上でC#でPNGを読み込むことができません、私は最新のモノは、C#ではモノラル

using System.Drawing; 
Bitmap bmp = new Bitmap("test.png"); 

を使ってMac OSX上のPNGファイルをロードしようとしている私は、次のエラー

Either the image format is unknown or you don't have the required libraries to decode this format [GDI+ status: UnknownImageFormat] 
を取得

すべてのpngファイルでは起こりません。これだけ。
alt text

8bppに切り替わらない限り、フォトショップでの保存は問題ありません。この「特別な」pngファイルをサポートするために何かインストールする必要がありますか? Windows上で正常に動作します。

答えて

5

私はUbuntuの上でモノラルで、このファイルをロードしようと、次の例外を持っている:48bppと

** (mono_load_bitmap:3490): WARNING **: PNG images with 48bpp aren't supported by libgdiplus. 
Either the image format is unknown or you don't have the required libraries to decode this format [GDI+ status: UnknownImageFormat] 
    at System.Drawing.GDIPlus.CheckStatus (Status status) [0x00000] in <filename unknown>:0 
    at System.Drawing.Bitmap..ctor (System.String filename, Boolean useIcm) [0x00000] in <filename unknown>:0 
    at System.Drawing.Bitmap..ctor (System.String filename) [0x00000] in <filename unknown>:0 
    at (wrapper remoting-invoke-with-check) System.Drawing.Bitmap:.ctor (string) 

エラー

PNG画像は

libgdiplusで をサポートされていません。

は、お使いのMacで使用しているものと同じ性質のようです。クイックグーグル検索では、それを修正する方法に関する情報は返されませんでした。

Gdk.Pixbuf pic = new Gdk.Pixbuf("test.png"); 
// shows pixbuf in the Gtk.Image widget 
Gtk.Image image = new Gtk.Image();  
image.Pixbuf = pic; 

この呼び出しが私のUbuntuでエラーが発生しませんでした:私の提案はGdk.Pixbufクラスでそれを開こうとしています。

これは役に立ちます、と考えています。

+0

ありがとうSerge。私のターゲットプラットフォームはMacとWindowsなので、このコードの周りにtry-catchブロックを投げて、アーティストにそれらの画像のビット深度を変更するよう指示しました。 – milkplus

0

MacOS Xアプリケーションで画像を表示できるかどうか確認しましたか(libpngを使用している可能性があります)?

+0

はい。 PNGをダブルクリックすると、ビューアにロードされます。 – milkplus

関連する問題