Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
fromfile と filestream について
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30504#CommentId84031
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
allgreen
 (社会人)
投稿日時
2020/6/4 10:59:41
ちょっとまた、面倒なところで行き詰まりました
マルチtifのファイルを、これまで
マルチ画像 = System.Drawing.Image.FromFile(.FileName)
Dim fd As New System.Drawing.Imaging.FrameDimension(マルチ画像.FrameDimensionsList(0))
ページ数 = マルチ画像.GetFrameCount(fd)
ReDim 分割画像(ページ数 - 1)
For i = 0 To ページ数 - 1
マルチ画像.SelectActiveFrame(fd, i)
分割画像(i) = マルチ画像.Clone
Next
でやってましたが、この方法だとファイルをロックした状態が終了まで続いて
上書き保存などをするときに書き込めないことになり
ホームページなどを見て
FromFile のところを
Dim ストリーム As New System.IO.FileStream(.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read)
マルチ画像 = System.Drawing.Image.FromStream(ストリーム)
に変えることにしました
すると、
g.drawimage などで、GDI+ で汎用エラーが発生しました。のエラーが出るようになりました
.clone を外すとエラーにはなりません(ただし分割画像が全部最後の画像になる)
可能性を考えて、Ctype(マルチ画像.Clone,image)としても駄目でした
ただし、必ずエラーになるというわけではなく、エラーにならない画像ファイルもあります
(今の所、縦長の画像はエラーにならず、横長の画像がエラーになる)
.clone を使わずに、マルチ画像を、分割画像(i)に分離する方法がないか
FileFrom ではエラーにならないのに、FileStream ではエラーになる理由は何か
何かありましたら、お願いします