2017-04-14 28 views
-2
using (MemoryStream mem = new MemoryStream(data)) 
{ 
System.Drawing.Image imgPhoto = System.Drawing.Image.FromStream(mem); 
} 

これは私が使用しているコードです。問題は、デバッガが次の行を処理するとすぐに:Image.FromStream(MemoryStreamオブジェクト)

System.Drawing.Image imgPhoto = System.Drawing.Image.FromStream(mem); 

エラーパラメータが無効です。だからデバッグ中に "mem" のパラメータをチェックした後、私はpositionパラメータが毎回ゼロに設定されていることに気付きました。

URL:external.xx.fbcdnsafeで始まるソースから画像を受け取ったときに、もう一つのことが気付いた: positionパラメータは何らかの値に設定されておらず、常に0に設定されています。私はエラーを取得しています。スクリーンショットを参照してください。

URLで始まる画像の場合:scontent.xx.fbcdn.n ... positionパラメータは、ある値を設定しています。スクリーンショットを参照してください。

For external Sources : url starting with external.xx.fbcdn.net For scontent Sources : url starting with scontent.xx.fbcdn.net

答えて

0

ストリームの形式は画像として認識できないときは、「パラメータ無効」の例外を受け取ります。

"Parameter not valid" exception loading System.Drawing.Image

があなたのscontent.xx.fbcdn.n ...のURLから受信されたデータの内容をチェックしてください。恐らく、それらは有効な画像データではなく、404エラーまたはその他のコンテンツである可能性があります。

+0

ありがとう...私はexternal.xx.fbcdnからの画像が有効な画像ではないか、フォーマットが間違っていると思いますので、画像を解析する際に問題が発生する可能性があります。 – bijitm

関連する問題