tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルVB2005ExpressEditionについて
記事No5807
投稿日: 2007/07/11(Wed) 12:19
投稿者ぷち
はじめまして。
VB2005ExpressEditionについてお伺いします。
現在、VB2005ExpressEditionを使用してソフトを作成しておりますが、
容量の大きい画像(jpgで25MB)を開くと「メモリ不足です」のエラーがでてしまいます。
メモリーを1G、2Gで試しましたが、同様な結果となりました。
VB2005ExpressEditionは、何か制約があるのでしょうか?
VB2005StandardEditionを使用すれば読み込む事は可能なのでしょうか?

また、VB6.0でも容量の大きい画像(bmpで30MB)を読み込むと、読込はできますが、
保存(savepicture)を行うとエラーが発生してしまいます。
これについても、何か解決方法があれば教えてください。

よろしくお願いします。

[ツリー表示へ]
タイトルRe: VB2005ExpressEditionについて
記事No5808
投稿日: 2007/07/11(Wed) 12:36
投稿者花ちゃん
どのようなコードを書いてどの部分でエラーが表示されるのかを
書かないと答えようがないかと思うのですが。

因みに、私の環境では33MBでも問題なく表示しましたが。

WindowsXP(SP2)
Microsoft Visual Studio 2005
Version 8.0.50727.762  (SP.050727-7600)
Microsoft .NET Framework
Version 2.0.50727

インストールされている Edition: VB Express

[ツリー表示へ]
タイトルRe^2: VB2005ExpressEditionについて
記事No5809
投稿日: 2007/07/11(Wed) 14:04
投稿者ぷち
> どのようなコードを書いてどの部分でエラーが表示されるのかを
> 書かないと答えようがないかと思うのですが。
>
> 因みに、私の環境では33MBでも問題なく表示しましたが。
>
> インストールされている Edition: VB Express

説明が足らずに申し訳ありません。
VB Expressをお使いなのですね。
コードは以下のようになります。
If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
     PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)
     PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
End If
ファイルを選んで表示させているだけです。
これを実行すると「メモリが不足しています」とエラーがでます。
よろしくお願いします。

[ツリー表示へ]
タイトルRe^3: VB2005ExpressEditionについて
記事No5810
投稿日: 2007/07/11(Wed) 14:33
投稿者花ちゃん
> 説明が足らずに申し訳ありません。

*.BMP ファイルならどうなのですか?

何MB までのファイルならエラーがでず表示されるのですか?

他のマシンならどうなのですか?

[ツリー表示へ]
タイトルRe^4: VB2005ExpressEditionについて
記事No5811
投稿日: 2007/07/11(Wed) 14:46
投稿者ぷち
ご対応ありがとうございます。

> *.BMP ファイルならどうなのですか?
30MBのファイルはエラーが発生しました。
他の容量では確認しておりません。申し訳ありません。

> 何MB までのファイルならエラーがでず表示されるのですか?
12MBまでなら表示されます。

> 他のマシンならどうなのですか?
ノート(1.5G)とデスクトップ(1G,2G)で試しましたが、同じでした。

ちなみにコード的にはよろしいのでしょうか?

[ツリー表示へ]
タイトルRe^5: VB2005ExpressEditionについて
記事No5812
投稿日: 2007/07/11(Wed) 14:52
投稿者花ちゃん
> ちなみにコード的にはよろしいのでしょうか?
投稿されたコード以外にも何か処理していませんか?

投稿されたコードだけで新たに作成しても同じですか?
エラーはどの部分で表示されるのですか?

[ツリー表示へ]
タイトルRe^6: VB2005ExpressEditionについて
記事No5813
投稿日: 2007/07/11(Wed) 15:12
投稿者ぷち
お世話になっております。

> 投稿されたコード以外にも何か処理していませんか?
フォームには表示ボタンとPictureBox1のみ作成してあります。
>
> 投稿されたコードだけで新たに作成しても同じですか?
はい、同様な結果がでました。

> エラーはどの部分で表示されるのですか?
PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)
の部分で発生しております。
「OutofMemoryExceptionはハンドルされませんでした」と表示されます。
何度も申し訳ありませんがよろしくお願いします。

[ツリー表示へ]
タイトルRe^7: VB2005ExpressEditionについて
記事No5814
投稿日: 2007/07/11(Wed) 15:44
投稿者魔界の仮面弁士
ファイルが壊れている、ということはありませんか?
(多少壊れていても読み込めてしまう画像ソフトもあるので、判定しずらいですが…)
http://support.microsoft.com/kb/810109/ja

# 単純にサイズの問題だとは思いますが、念のため。

あと、Bitmap 画像といっても、幾つかの種類があります。
もし、具体的なフォーマット(色数、サイズ、圧縮の有無等)もわかれば提示してください。
(同じファイルがどこからか入手できれば、第三者検証も楽になるのですが)


> PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)
> の部分で発生しております。
本来は、Image プロパティへ新たな画像をセットする前に、
以前に割り当てられていた画像オブジェクトを Dispose する作業が必要です。
http://www.microsoft.com/japan/msdn/community/gdn/ShowPost-29087.htm

それはさておき、提示されたコードだけだと、
 ・OpenFileDialog1.FileName プロパティからの取得時に、エラーが発生しているのか?
 ・Image.FromFile メソッドが、エラーを発生させてるのか?
 ・PictureBox1.Image プロパティへの割り当て時に、エラーが発生しているのか?
を判断しにくくなってしまいます。

こういう時は、原因箇所をもっと絞り込みましょう。たとえば、
 Dim fileName As String = OpenFileDialog1.FileName
 Dim pic As Image = Image.FromFile(fileName)
 PictureBox1.Image = pic
のようにすれば、具体的な問題箇所を絞り込めるかと思います。

(FromFile の時点で落ちているようならば、手軽な対処療法は無いかも知れません…)

[ツリー表示へ]
タイトルRe^8: VB2005ExpressEditionについて
記事No5816
投稿日: 2007/07/11(Wed) 15:55
投稿者ぷち
ご対応ありがとうございます。

> こういう時は、原因箇所をもっと絞り込みましょう。たとえば、
>  Dim fileName As String = OpenFileDialog1.FileName
>  Dim pic As Image = Image.FromFile(fileName)
>  PictureBox1.Image = pic
> のようにすれば、具体的な問題箇所を絞り込めるかと思います。
> (FromFile の時点で落ちているようならば、手軽な対処療法は無いかも知れません…)
確認を行いましたが、FromFileの所でした。
となると、単純にハードの問題になってしまうのでしょうか?

[ツリー表示へ]
タイトルRe^9: 表示可能な最大サイズ
記事No5818
投稿日: 2007/07/11(Wed) 16:15
投稿者ぷち
ソフトの質問ではなくて申し訳ありません。
VBでの表示可能な最大サイズ(横×縦)はあるのでしょうか?

現在の自分の環境は、
OS:XP
ツール:VB2005ExpressEdition(2.0.50727)
メモリー:2G
です。
この環境のもとで
18137*6000ピクセルの画像は表示可能です。
18235*6000ピクセルの画像では「メモリー不足」が発生します。

よろしくお願いします。

[ツリー表示へ]
タイトルRe^9: VB2005ExpressEditionについて
記事No5819
投稿日: 2007/07/11(Wed) 16:22
投稿者魔界の仮面弁士
同様の悩みは何度か目にしていますけれども、効果的な方法は無いようで。
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1303268&SiteID=7

> となると、単純にハードの問題になってしまうのでしょうか?
いえ、単純にハードだけの問題とも言い切れないです。

もちろん、物理メモリが大きいに越したことはありませんが、起動中のソフトや
ガベージコレクトの状況など、いろいろな条件によって、現在利用可能な
メモリサイズは刻々と変化するでしょうし。
http://www.microsoft.com/japan/msdn/community/gdn/ShowPost-29087.htm
http://www.microsoft.com/japan/msdn/community/gdn/ShowPost-16535.htm

[ツリー表示へ]
タイトルRe^10: VB2005ExpressEditionについて
記事No5820
投稿日: 2007/07/11(Wed) 18:47
投稿者ぷち
皆様いろいろありがとうございました。
参考にさせていただきたいと思います。

[ツリー表示へ]