open System.Drawing
let bitmap = new Bitmap(16,16)
let path = __SOURCE_DIRECTORY__
bitmap.Save(path+"bitmap.png")
私は、インスタンス化されたビットマップをプロジェクトフォルダに保存するためのコードを記述しました。コードを実行したときにGeneric Errorが発生しました。エラーメッセージの全体は以下の通りです。ビットマップをXamarinに保存するときの一般的なエラー
のSystem.Exception:一般的なエラー[GDI +ステータス:GenericError] System.Drawing.GDIPlus.CheckStatus(System.Drawing.Status状態)[0x00079]中で :0 System.Drawing.Image.Saveで(System.String filename、System.Drawing.Imaging.ImageCodecInfoエンコーダ、System.Drawing.Imaging.EncoderParameters encoderParams)[0x0003d] in 0: at System.Drawing.Image.Save(System.String filename、System.Drawing.Imagingat System.Drawing.Image.Save(System.String filename)[0x00008] in:0 at(ラッパーremoting-invoke-with-check)System.Drawing.Image:Save (文字列) at $ FSI_0037.main @()[0x00006] in < 4081182357644f828a64898ac573806b>:0 System.Reflection.MonoMethod(ラッパーが管理対ネイティブ)で:InternalInvoke(System.Reflection.MonoMethod、オブジェクト、オブジェクト[]、のSystem.Exception &) System.Reflection.MonoMethod.Invokeで( System.ObjectのOBJ、System.Reflection.BindingFlags invokeAttr、System.Reflection.Binderバインダー、System.Objectの[]パラメータ、可能System.Globalization.CultureInfo培養)[0x00032]:0
はIコードをデバッグと以下のことを考え出した。
- ビットマップを作成するためのコードの行は、このような状況で細かい
- パスを働いた「/」
- 保存()関数は
Iと呼ばれていた前のコードは大丈夫でしたF#を学び始めたばかりで、問題を理解することはできません。誰もこれを助けることができますか?
プロジェクトフォルダの絶対パスにパスを設定して問題を解決しました。なぜ私がソースディレクトリに "/"をつけたのかまだ分かりません。 –
タイトルに_solved_を追加しないでください。代わりに回答を投稿し、適格者が答えを受け入れる場合。それは他人に質問が解決されたことを伝えます。ありがとうございました。 – Bugs
ちなみに、 '__SOURCE_DIRECTORY__'の値は通常'/'で終わらないので、あなたのコードでファイル名を' path + "/bitmap.png" 'と指定する必要があります。あるいは、 'System.IO'名前空間から' Path.Combine'を使うのは、あなたのパスが ''/''か ''/home/username/something ''のどちらであろうと正しいことをするからです。 – rmunn