tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルオブジェクトのシリアル化について
記事No839
投稿日: 2004/05/05(Wed) 14:45
投稿者しんじ
[OSのVer]:Windows2000    [VBのVer]:VB.NET

いつもお世話になっております。
オブジェクトのシリアル化が出来ずに大変困っております。
お手数をお掛けして申し訳御座いませんがご教授頂けないでしょうか?
SQL Serverと処理を行っており、SQL Serverへバイト配列を送信する際に
現在はFileStreamを使用して、シリアル化しているのですが直接ファイルを
触らなければならず都合が悪いので、MemoryStreamをバッキングストアとして
PictureBox.Imageのデータをシリアル化したいのですがうまくいきません。
あちこち探しているのですが、情報が無い為(探しきれていないかも)
お手数をお掛けいたしますが、ヒントを頂けますようお願い申し上げます。

要点を纏めますと

PictureBoxのImageをバイト配列にしてMemoryStreamに格納したい。
Image.Saveメソッドを使用したところ「GDI+で一般的なエラーが発生しました。」
が表示されます。

失敗コード:
Dim fs As New MemoryStream()
PictureBox1.Image.Save(fs,PictureBox1.Image.RawFormat)   ← ここでエラー発生

です。
BinaryFormatterのSerializeメソッドを使用しても同じエラーが発生します。
何らかの手法でバイト配列にしないといけなさそうですが、方法が分かりません。
お手数をお掛けいたしますが、宜しくお願い致します。

[ツリー表示へ]
タイトルRe: オブジェクトのシリアル化について(検証報告)
記事No841
投稿日: 2004/05/06(Thu) 15:36
投稿者しんじ
> 失敗コード:
> Dim fs As New MemoryStream()
> PictureBox1.Image.Save(fs,PictureBox1.Image.RawFormat)   ← ここでエラー発生

コード自体は間違っていないようです。
デザインモードでPictureBoxにイメージをセットすると正常にコードが動作します。
コード上でImageをセットするとエラーが発生します。
Pictureのセットに問題がありそうなので調べてみます。
情報がありましたら教えてください。

[ツリー表示へ]
タイトル【自己解決】 オブジェクトのシリアル化について
記事No845
投稿日: 2004/05/07(Fri) 11:19
投稿者しんじ
> 失敗コード:
> Dim fs As New MemoryStream()
> PictureBox1.Image.Save(fs,PictureBox1.Image.RawFormat)   ← ここでエラー発生

グラフィックオブジェクトを作成することで解決しました。
お騒がせしました。

[ツリー表示へ]