トップページ > 記事閲覧
jpegファイル読み込みエラー
名前:GMO 日時: 2014/11/23 02:18

新しいサンプルプログラムを当方の環境でビルドし実行したところ、 Goblin.mv1が読み込めずエラーが発生しました。 ライブラリを過去のバージョン(試したのは3.12e)にした場合はこのエラーはありませんでした。 当方の開発環境は古いのでそのせいかもしれませんが、(解決策があることを祈りつつ)報告させていただきます。 以下ちょっとだけ詳細 <開発環境>  VisualC++Express2010 Windows Vista SP2 GeForce9600GT   <実行時のログ(Sword Bout抜粋)> 2057:フォントの初期化を行います 2066:フォントの初期化は正常に終了しました 2099:文字コードバッファの初期化を行います... 完了しました 7860:MV1CreateTextureColorBaseImage : Error 1 7914:Load Texture Error : テクスチャ用の BASEIMAGE の作成に失敗しました 7919:MV1 LoadModel Error : テクスチャ file1 の読み込みに失敗しました 7925:VMD Load Error : 対応していない VMD バージョンです スレッド 'Win32 スレッド' (0x3f50) はコード 0 (0x0) で終了しました。 スレッド 'Win32 スレッド' (0xe34) はコード 0 (0x0) で終了しました。 スレッド 'Win32 スレッド' (0x3ca0) はコード 0 (0x0) で終了しました。 <その他> ・Goblin.mv1以前に読み込まれるPC.mv1およびSaya.mv1についてはこのエラーは発生しないようです。 そのほかのモデルについては不明。 ・Goblin.mv1を表示するだけのプログラムを作成し実行しても同じでした。(過去バージョンだと表示できる)
メンテ

Page: 1 | 2 |

追加テスト ( No.11 )
名前:GMO 日時:2014/11/23 02:38

管理人さん 記事4006で記載したLoadGraphテストがSwordBout(以下SB)とは無関係のテストとはならないことに あとから気づき、まったく無関係のJPEGファイルを最新のライブラリで表示テストを行ったところ 問題なく表示できました。 この結果が出たため、使用してるSBのファイルを疑い、ダウンロードをし直し、ファイルを取り直していくつか テストを行いました。 ライブラリは最新のライブラリ(SBは再ダウンロードしたSB付属のもの、LoadGraphテストは個別ダウンロードのもの)です。 @LoadGraphテスト  SB無関係のJPEGファイル → 表示  再DLしたSB付属goblin.jpg → 表示失敗  再DLしたSB付属goblin.jpgをペイントで開いて上書き保存したもの → 表示 A再DLしたSBをVC++2010expressにてビルド&実行テスト  特に何もせず実行 → エラーで終了  Characterフォルダ配下にあるJPEGファイルをすべてペイントで開いて上書き保存して実行 → 問題なく動作 と、このような結果となりました。 エラーが発生するJPEGファイルと発生しないJPGファイルの違いは・・・よくわかりませんでした。 上書き保存したものについても、ペイントの圧縮率規定値の影響でファイルサイズが小さくなった位しか 元データとの違いは(知識不足もあり)よくわかりません・・ また、エラーなしで実行するためにキャラクターデータのJPEGファイルはすべてペイント上書きする必要がありましたが、 ステージデータのJPEGファイルは何もしなくてもエラーとはならないようです。
メンテ
jpegファイルの読み込みに失敗する件について調べてみました ( No.12 )
名前:わしし 日時:2014/11/23 02:36

いつもお世話になっております GMOさんが質問しているjpegファイルの読み込みに失敗する件ですが、私もあるモデルの jpegのテクスチャーの読み込みに失敗しており ちょうどGMOさんが質問していたので傍観して おりましたが、こちらでも色々テストしてみたので報告いたします DXLib3.13だとWindows7でVisualStudio2010でビルドした場合もLoadGraphによるjpegファイルの 読み込みで失敗しております Win32/64,Release/Debug,マルチバイト文字コード/UNICODEの全てについて こちらで見つけたモデルのテクスチャーのjpegファイルとSwordBoutのモデルのjpegファイル でLoadGraphによる読み込み、表示を行ってみましたましたが3.13だと全て表示できませんでした いずれもDXLib 3.12eでは問題なく表示されることを確認しております また、こちらでlibjpegを VisualStudio2010でビルドしたlibjpeg(9a)と差し替えてテストした ところWin32/64,Release/Debug,マルチバイト文字コード/UNICODEの全てにおいて問題なく 表示されるようになりました さらにVisualStudio2013でビルド(ツールセットは2010 v100に変更)したlibjpeg(9a)と差し替え てテストプログラムをVisualStudio2010でビルドしても問題ありませんでした なお、こちらでビルドしたlibjpegは配布されているものよりサイズが1.2MBほどと大きくなって います(コンパイルオプション等の違いによるものかな?) 以上 報告でした
メンテ
Re: jpegファイル読み込みエラー ( No.13 )
名前:管理人 日時:2014/11/23 02:39

検証していただきありがとうございます goblin.jpg はBTJ32というフリーソフトを使用して無圧縮形式からjpeg形式に変換したのですが、 ペイントで保存する場合の jpegファイルとは少し内部形式が異なるのかもしれません > また、エラーなしで実行するためにキャラクターデータのJPEGファイルはすべてペイント上書きする必要がありましたが、 > ステージデータのJPEGファイルは何もしなくてもエラーとはならないようです。 ステージデータの jpegファイルはステージモデルを作成された方から頂いた jpegファイルそのままなので、 BTJ32で私がコンバートした jpegファイルのみエラーが発生しているようです・・・ そして、わししさんの VisualStudio2010 でビルドした libjpeg では問題なく読み込めたとのご検証結果も踏まえて考えると、 DXライブラリに添付されている libjpeg.lib は VisualC++6.0 でコンパイルしたものなので、新しい VisualC++ で コンパイルすればGMOさんやわししさんの環境でも正常に読み込めるようになりそうです というわけで、VisualStudio2005 から VisualStudio2013 までの 5バージョンでコンパイルした libjpeg.lib と、 おまけで VisualC++6.0 のコンパイル設定を少し変更したものを作成してみました https://dxlib.xsrv.jp/temp/libjpegTest.zip VisualC++6.0 から VisualStudio2005 の間には VisualC++.NET2002 と VisualC++.NET2003 があるので 厳密なチェックにはなりませんが、よろしければどのバージョンでコンパイルした libjpeg.lib から 正常に読み込めるかお試しいただけないでしょうか? m(_ _;m > わししさん > なお、こちらでビルドしたlibjpegは配布されているものよりサイズが1.2MBほどと大きくなって > います(コンパイルオプション等の違いによるものかな?) 恐らくデバッグ情報だと思います、DXライブラリはデバッグ情報を「無し」に設定しているので・・・
メンテ
Re: jpegファイル読み込みエラー ( No.14 )
名前:GMO 日時:2014/11/23 08:29

管理人さん libjpegTest.zipにVC++6.0で作成したライブラリーが見当たりません。 また、検証方法は最新のdxライブラリーの中のlibjpeg.libをすげ替えてjpeg表示テストを行うという形で問題ありませんよね?
メンテ
Re: jpegファイル読み込みエラー ( No.15 )
名前:管理人 日時:2014/11/23 08:27

すみません、VC++6.0で作成したlibjpeg.libが含めたzipファイルを上げていませんでした 申し訳ありません、よろしければもう一度ダウンロードしてください m(_ _;m https://dxlib.xsrv.jp/temp/libjpegTest.zip > また、検証方法は最新のdxライブラリーの中のlibjpeg.libをすげ替えてjpeg表示テストを行うという形で問題ありませんでしょうか? はい、上書きしてリビルドしてください。
メンテ
Re: jpegファイル読み込みエラー ( No.16 )
名前:GMO 日時:2014/11/23 08:32

あっと記事修正中に管理人さんから返信がw 新しいファイルダウンロードします。
メンテ
Re: jpegファイル読み込みエラー ( No.17 )
名前:GMO 日時:2014/11/23 13:39

管理人さん 検証の結果が出ましたので報告します。 debug、release両方とも同様の結果です。 テスト結果がすべて失敗だとテスト環境が不安になるため、 3.12eよりlibjpeg.libを取り出し、3.13に上書きしたテストも追加してます。 3.12eのlibjpeg 表示成功 vc6.0 表示失敗 2005 表示失敗 2008 表示失敗 2010 表示失敗 2012 ビルド失敗 2013 ビルド失敗
メンテ
追加情報 ( No.18 )
名前:GMO 日時:2014/11/23 20:10

管理人さん こちらでBTJ32をダウンロードし、いくつか原因究明に役立ちそうなテスト結果を得られたので報告します。 表示ができなかったgoblin.jpegをBTJ32を用いて上書き保存をし、 BTJ32の設定の差異で、テストプログラムで表示できる場合とできない場合があるかどうかを調べました。 結果、BTJ32のプログレッシブのチェックボタンがONの状態で保存すると、バージョン3.13のテストプログラムでは表示できませんでした。 この結果を受けて、自前でペイント作成のJPEGファイルを作り、BTJ32にてプログレッシブで上書き保存したところ、ピクセルサイズが小さいときは表示されましたが、 ピクセルサイズをgoblin.jpegと同等にした場合は、 表示されませんでした。 どれくらいのピクセルサイズの大きさから表示されなくなるのかはまだつかめてませんが、取り急ぎ報告します。 追記: 表示する/されないの境目を大体で調べてみたところ、560×560のピクセルサイズだと表示され、561×561だと表示されなかったので、 凡そこの周辺だと思います。 このテストで気になった点として、表示されない状況のときはテストプログラムの動作が不安定で、 実行時、 LoadGraphでフリーズすることが何度もありました。 (真っ白のJPEGファイルを読み込んでるときに多かったです。たまたまかもしれませんが・・) 以上です。
メンテ
Re: jpegファイル読み込みエラー ( No.19 )
名前:わしし 日時:2014/11/23 21:21

管理人さんの方でビルドされたlibjpegで私の方で検証してみた結果を報告します まず LoadGraphで画像を表示するテストアプリのビルドですが 試せるだけ試してみました テストプログラムのビルド可否(ビルド環境OS:Server 2012R2 ) ビルド libJpegのビルド環境 環境 3.13付属 VC6 VS2005 VS2008 VS2010 VS2012 VS2013 VS2005 ○ ○ ○ × × × × VS2008 ○ ○ ○ ○ ○ × × VS2010 ○ ○ ○ ○ ○ × × VS2012 ○ ○ ○ ○ ○ ○ ○ VS2013 ○ ○ ○ ○ ○ ○ ○ 次にビルドしたテストアプリで正常に表示できるかどうかのテスト結果です 実行(正常表示)可否 ビルド 実行環境OS (○:ビルドできたもの全てで正常表示) 環境 Xp Vista Win7 Win8.1 Win10TP Server2012R2 VS2005 ○ × ○ ○ ○ ○ VS2008 ○ × × × × ○ VS2010 ○ × × × × ○ VS2012 ×※ ○ ○ ○ ○ ○ VS2013 ×※ ○ ○ ○ ○ ○ ※:VS2012または2013でビルドしたものは不明なアプリケーションとなって実行できませんでした (ツールセットを_Xpの物でもビルドしてみましたが同様で実行不能でした) 元々私の開発環境がServer2012R2でして、私のところでは表示されるのに他のところでは表示されない またはプログラムが異常終了するとの報告があったため調べておりました なぜかServer2012R2では全て表示可能な様です ビルド環境のため?という疑念があったため、新規に作ったOSのみの環境で試しても結果は同じでした こちらではこのような結果になりました なお、現在こちらでビルドしたlibjpegについても調査中ですので後ほど結果を報告いたします 以上
メンテ
Re: jpegファイル読み込みエラー ( No.20 )
名前:わしし 日時:2014/11/23 22:07

私の方でビルドしたlibjpegでの検証が終わりましたので報告します テストプログラムのビルド可否(ビルド環境OS:Server 2012R2 ) ビルド libJpegのビルド環境 環境 VS2005 VS2008 VS2010 VS2012 VS2013 VS2005 ○ × × ○ ○ VS2008 △※ ○ × ○ ○ VS2010 △※ △※ ○ ○ ○ VS2012 △※ △※ △※ ○ ○ VS2013 △※ △※ △※ ○ ○ ※:DebugはビルドできたがReleaseがリンクエラーでビルドできない 実行(正常表示)可否 ビルド 実行環境OS (○:ビルドできたもの全てで正常表示) 環境 Xp Vista Win7 Win8.1 Win10TP Server2012R2 VS2005 ○ △※2 ○ ○ ○ ○ VS2008 ○ △※2 △※2 △※2 △※2 ○ VS2010 ○ △※2 △※2 △※2 △※2 ○ VS2012 ×※1 ○ ○ ○ ○ ○ VS2013 ×※1 ○ ○ ○ ○ ○ ※1:VS2012または2013でビルドしたものは不明なアプリケーションとなって実行できませんでした (ツールセットを_Xpの物でもビルドしみましたが同様で実行不能でした) ※2:libjpegをVS2012,VS2013でビルドしたもののみ表示されず(Debug/Releaseの両方) 私の環境ではこの様な結果になりました 以上
メンテ
Re: jpegファイル読み込みエラー ( No.21 )
名前:管理人 日時:2014/11/24 11:47

お試しいただきありがとうございます No.19 の「実行(正常表示)可否」についてですが「×」の部分は 「ビルドできたもの全てで正常に表示されなかった」という解釈で良いのでしょうか? ともあれ、VisualStudio のみならず、BorlandC++ や GCC 版でも同様の現象が発生している可能性もあるので バージョンを 9a から 9 に戻した方が良い気がしてきました・・・
メンテ
Re: jpegファイル読み込みエラー ( No.22 )
名前:わしし 日時:2014/11/24 13:42

ご質問の >No.19 の「実行(正常表示)可否」についてですが「×」の部分は >「ビルドできたもの全てで正常に表示されなかった」という解釈で良いのでしょうか? につきましては、その通りでした なお、こちらで表示できないことを確認したjpegファイルは Adobe Photoshop Elements 5.0 Windows で作られた物のようで 画像サイズが512x512 解像度が縦横とも72dpi 24bitカラー ファイルサイズ 40.6 KB (41,670 バイト) の物でした こちらもペイントで一度読み込み上書き保存すると読み込めるようになります また保存しなおすとファイルサイズが56.5 KB (57,913 バイト)に増えています プロパティでみえる情報については元のファイルと変わっていませんでした 以上
メンテ
Re: jpegファイル読み込みエラー ( No.23 )
名前:管理人 日時:2014/11/25 01:24

ご返答ありがとうございます ほぼ私の中でバージョン9に戻すことが確定しているのですが、よろしければバージョン9であれば VisualC++6.0版( DXライブラリの Ver3.12e に同梱されている libjpeg.lib )が全ての環境で 「実行(正常表示)可否」が○になるか教えて頂けないでしょうか? あと、バージョン9に戻す場合はVisualC++6.0版を配布する予定ですが、もしその他のVSでビルドした バージョン9のlibjpeg.libもご必要でしたら、こちらにアップしましたのでお使いください m(_ _)m https://dxlib.xsrv.jp/temp/libjpeg9Test.zip > なお、こちらで表示できないことを確認したjpegファイルは > Adobe Photoshop Elements 5.0 Windows で作られた物のようで > 画像サイズが512x512 解像度が縦横とも72dpi 24bitカラー > ファイルサイズ 40.6 KB (41,670 バイト) の物でした >  > こちらもペイントで一度読み込み上書き保存すると読み込めるようになります > また保存しなおすとファイルサイズが56.5 KB (57,913 バイト)に増えています > プロパティでみえる情報については元のファイルと変わっていませんでした サイズが異なるのはペイントで再圧縮しているからだと思います 読み込めないのは内部の圧縮率以外の設定が異なる為だと思います、 ただ、設定が異なってもファイルが正常であれば読み込めないとおかしいのですが・・・ ( 現に VS のバージョンによっては成功していますし ) 今後リリースされるバージョンで直ると良いのですが・・・ (- -;
メンテ
Re: jpegファイル読み込みエラー ( No.24 )
名前:わしし 日時:2014/11/25 02:26

ご質問の件の回答です >ほぼ私の中でバージョン9に戻すことが確定しているのですが、よろしければバージョン9であれば >VisualC++6.0版( DXライブラリの Ver3.12e に同梱されている libjpeg.lib )が全ての環境で >「実行(正常表示)可否」が○になるか教えて頂けないでしょうか? DXライブラリの Ver3.12e に同梱されている libjpeg.lib では 先にあげたVisualStudioすべてでjpeg表示のテストプログラムのビルドに成功しており 実行はXpでのVisualstudio2012,2013でビルドしたものが不明なアプリケーションとなって 実行できないのを除いて各OSで正常に表示できております 以上です
メンテ
Re: jpegファイル読み込みエラー ( No.25 )
名前:GMO 日時:2014/11/25 09:42

自分の環境では、 ・プログレッシブJPEGである(BTJ32に関係なくネットで拾った適当なJPEGでも現象が出た) ・上記JPEGファイルが一定量以上の画像サイズである の二つの条件が揃って問題の現象が起きました。 ペイント保存して読み込めるようになるのは プログレッシブ設定がとれて普通のJPEG(ベースラインと呼ぶらしい)なるからだと思います。 ↓ここの判定ツールで確認できます。 ht tp ://limetarte.net/if_software/profile.cgi?_v=1346751019&tpl=view2 今現象が起きてない環境についても、 プログレッシブJPEGの画像サイズを大きくしたら同じような状況になる可能性はあるとは思います。 (スイマセン、他の環境で試せないので脅かすだけで・・) 仮にそうだとしても、ゲームで使用するような画像サイズよりもとんでもなく大きい画像サイズのときに 「3.12eで表示3.13では表示失敗」って現象になるかもしれませんが・・
メンテ
Re: jpegファイル読み込みエラー ( No.26 )
名前:管理人 日時:2014/11/28 00:30

> わししさん ご返答ありがとうございます 安心してバージョン9のVC6.0版に戻せます > GMOさん ご情報ありがとうございます 確かに goblin.jpeg はプログレッシブで保存しました OSやビルドするVSのバージョンが異なるだけで結果が変わるとなると、 C言語の仕様できっちり定義されていないコンパイラ依存となっていそうな CPUの浮動小数点数に関する動作の設定が怪しいですが、同じ条件でも9では問題なく動作していたのに 9aで何故正常に動作しなくなったのかは謎です 9と9aのソースの違いを詳しく調べれば原因が分かりそうですが、手元に不具合が再現する環境が無いのと、 苦労して原因を突き止めても次のバージョンであっさり直っている可能性もあるので、 とりあえず安定している9に戻そうと思います
メンテ
Re: jpegファイル読み込みエラー ( No.27 )
名前:管理人 日時:2014/11/29 14:18

libjpeg.lib のバージョンを9に戻しました 既にバージョン9の libjpeg.lib をお使いかと思いますが、 もしご必要でしたらダウンロードしてください m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_DevCppTest.exe // Dev-C++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibDotNet.zip // .NET用 http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
Re: jpegファイル読み込みエラー ( No.28 )
名前:GMO 日時:2014/11/30 19:43

管理人さん ご対応ありがとうございます。 新バージョンでビルドしたSwordBoutおよび検証で使用したテストプログラムにて、 問題の事象は発生しないことを確認しました。
メンテ
Re: jpegファイル読み込みエラー ( No.29 )
名前:管理人 日時:2014/11/30 21:43

お試しいただきありがとうございます 長い間検証にお付き合いいただきありがとうございました m(_ _;m
メンテ
Re: jpegファイル読み込みエラー ( No.30 )
名前:GMO(解決) 日時:2014/12/07 20:12

解決とさせていただきます。
メンテ

Page: 1 | 2 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存