Bitmap保存時にArgumentException
- 題名: Bitmap保存時にArgumentException
- 著者: いそろく
- 日時: 2006/07/06 11:20:45
- ID: 16487
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: Bitmap保存時にArgumentException
- 著者: 渋木宏明(ひどり)
- URL: http://hidori.jp/
- 日時: 2006/07/06 11:44:40
- ID: 16491
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: Bitmap保存時にArgumentException
- 著者: いそろく
- 日時: 2006/07/06 12:18:55
- ID: 16496
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: Bitmap保存時にArgumentException
- 著者: いそろく
- 日時: 2006/07/06 13:19:05
- ID: 16499
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: Bitmap保存時にArgumentException
- 著者: いそろく
- 日時: 2006/07/06 15:00:12
- ID: 16501
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: Bitmap保存時にArgumentException
- 著者: 渋木宏明(ひどり)
- URL: http://hidori.jp/
- 日時: 2006/07/06 16:08:15
- ID: 16504
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
はじめまして。いつも参考にさせて頂いてます。
早速質問をさせていただきます。
現在、テンプレートとしてのbmpファイルを編集し、1bppIndexedのtiffに変換して保存するという処理を作成しています。
画像の編集に関してはうまくいくのですが、保存するところでArgumentExceptionが発生してしまいます。
実際のソースコード(Saveメソッドの近くのみ書き出し)は下記のとおりです。
'編集したイメージを白黒に変換して保存する
infoCodec = GetEncoderInfo("image/tiff")
paramEncoders = New System.Drawing.Imaging.EncoderParameters
paramEncoders.Param(0) = New System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Compression, System.Drawing.Imaging.EncoderValue.CompressionCCITT3)
'保存する前に同じファイルがあったら削除する
If System.IO.File.Exists(g_strWrkFolderPath & "\wrk" & i.ToString & ".tiff") Then
System.IO.File.Delete(g_strWrkFolderPath & "\wrk" & i.ToString & ".tiff")
End If
'編集後のイメージを1bppIndexedに変換
imgWrk = TranslateTo1bppIndexed(imgTemp)
'変換後のイメージをtiffで保存
imgWrk.Save(g_strWrkFolderPath & "\wrk" & i.ToString & ".tiff", infoCodec, paramEncoders)
この最後のSaveのところでArgumentException(使用されたパラメータが無効です。)が発生してしまいます。
調べてみたところ、保存先(上書き)ファイルにアクセス権が無い場合に発生することがあるようですが、それを危惧してあらかじめファイルの削除を行っているので、別に原因があるように思われます。(ステップ実行で手動削除も試してみましたが、結果は同じでした。)
また、過去ログ(http://dobon.net/vb/bbs/log3-4/2354.html)でPictureBoxを経由することで回避できたとあったので試してみましたが、やはり結果は同じでした。
数日前までは問題なく保存できていたのですが、この処理周りでのソースの変更はしていないつもりです。
原因の分かる方、打開策をお持ちの方、どうぞご助力お願いします。