AniLaPaint ver 1.7.4 › フォーラム › バグ報告掲示板 › インポートできない
- 投稿者投稿
- しらすゲスト
「指定されたフォルダーにはAniLaPaint画像ファイルがありません」と表示されてインポートができません。最新版です。
- 小野木一樹キーマスター
冒険のはじまり.zip ファイル内のデータで試した場合もそうなりますか?
今当方で試したところ問題がありませんでしたので、何か操作手順に手違いなどがあるかもしれません。インポートの仕方は、メインウィンドウが開いたら、
「カット(C)」メニュー内の 「新規作成(N)…」 で
https://anilasoft.jp/help/anilapaint-1-5/import/new/index.htm
この画面を出します。ここで、「参照」ボタンを押して、何もファイルのない新規のフォルダーを指定します。「次へ(N)>」 ボタンで進んでいき、もろもろのインポート設定を行います。「ヘルプ(H)」ボタンを押せばそれぞれのページの設定方法が表示されます。
https://anilasoft.jp/help/anilapaint-1-5/import/index.htm#digitalize
途中2値化の設定は、サンプルデータの 冒険の始まり.zip の場合、解凍した \冒険の始まり\Files\Import フォルダー内の 階調線(細め).anila_import を読み込むことで設定可能です。
自分のスキャナーでスキャンしたデータであれば、いろいろとパラメータを変更する必要があります。https://anilasoft.jp/help/anilapaint-1-5/import/index.htm#last
このインポート設定最後の画面で「完了」ボタンを押すとインポートが開始されます。https://anilasoft.jp/help/anilapaint-1-5/import/msg/index.htm
インポート処理中のダイアログが出てスキャン画像が2値化されていきます。インポート処理中にエラーが発生したら、エラー一覧のテキストのメモ帳が開きます。問題なければ、すべての CPU の処理が終了したことが表示され、下の方のボタンが「閉じる(C)」 になります。
「閉じる(C)」ボタンを押すと、今インポートしたフォルダーをカット・パネルで開きます。「指定されたフォルダーにはAniLaPaint画像ファイルがありません」
このメッセージが出るとしたらこの時です。通常は、上記の処理中のダイアログでエラーが出ていないのであれば、処理によって AniLaPaint 画像が作られたばかりなので、このようなエラーが出ることはありません。それでももし出るのだとしたら、インポートは正常に終了されて AniLaPaint 画像として出力されたのだけど、その直後、今出力したばかりのカットを開こうとする直前に何らかの理由(セキュリティー的に書き込めないディスクに書き込んでいたためOSが消したなどで)で今インポートした画像が消えてしまった。あるいは、 AniLaPaint からはアクセスできないフォルダーにインポートしていた。たまたま、インポート中のプログラムはそのフォルダーにアクセスでき出力もできたが、カット・パネルのフォルダーからはアクセスできなかったなど…。さまざまな理由が考えられます。エクスプローラーからは、インポートした AniLaPaint 画像ファイルが見れるのでしょうか?カットフォルダー内の Paint フォルダー内に彩色画像が、 Line フォルダー内の実線画像が作成されているはずです。
インポートするドライブを変えてみてチャレンジしてみるのも手です。
ネットワークドライブとかは、インポート先に選ばないようにしてください。ローカルドライブを選択してください。もう少し詳しい状況が分かりましたら、何かヒントになる情報が返信できるのだと思いますので、よろしくお願いいたします。
もし、公開された状態だと詳しく書けないのであれば、
https://anilasoft.jp/support/contact/
お問い合わせから書き込んでいただければ、続きはメールでのやり取りとすることもできます。 - しらすゲスト
エクスプローラーの方で確認すると、ファイルは作成されているのですが画像がない状態です。
- 小野木一樹キーマスター
質問1)
一応確認なのですが、スキャナー等でスキャンした自分の動画を使用したのか、それとも、サンプルデータの「冒険のはじまり.zip」内の動画のスキャン画像を使用したのかどちらでしょうか?自分動画をスキャンした画像ファイルをインポートしようとした場合には、その解像度(縦横のピクセル数)も教えてください。質問2)
取扱説明書内やメニューなどのコマンドの説明文などでたびたび表示される「カット・フォルダー」の意味は、AniLaPaint が出力した画像のフォルダーの事であって、スキャナーでスキャンした画像があるフォルダーの事ではありません。
初心者の方がよく間違えるので、一応念のための確認ですが、AniLaPaint の カット(C) メニュー内の
の「カットを開く(O)…」または、
ボタンを押して、スキャン画像ファイルのあるフォルダーを開いた場合、あなたがご指摘の
「指定されたフォルダーにはAniLaPaint画像ファイルがありません」
エラーが表示されます。これは仕様であって正しい動作です。
この点は理解されていますでしょうか?質問3)
では、スキャン画像をどのようにしてインポートするのかというと、
の 「新規作成(N)…」 または、
ボタンを押して表示されるインポート・ウィザードを表示して、かなり面倒な設定を行わない限り、
何もインポートされることはありません。このインポート・ウィザードの最初の画面、
https://anilasoft.jp/help/anilapaint-1-5/import/new/usage.htm
ここで設定するフォルダーは、スキャン画像が入ったフォルダーをしてはいけませんのでご注意ください。
スキャン画像と AniLaPaint 画像は異なるフォルダーに入れてください。
通常は AniLaPaint データ格納用に用意した作品ごとやシーンごとのフォルダー内に、
新しいカット番号の空のフォルダーをここで指定するのが良いでしょう。では、スキャンした画像はどこで指定するのか?というと、このウィザードの下の方の「次へ」ボタンで進んでいき、
https://anilasoft.jp/help/anilapaint-1-5/import/files/usage.htm
この「動画の追加」のページでスキャン画像を指定します。以降の説明はここではしませんので、
分からない場合は取扱説明書をお読みください。ここまでは理解していますでしょうか?
質問4)
インポートの操作を正しく行った場合、
https://anilasoft.jp/help/anilapaint-1-5/import/new/usage.htm
このインポートの最初のページで指定したフォルダー内に、
https://anilasoft.jp/help/anilapaint-1-5/import/ini/usage.htm
インポート・ウィザードの2ページ目「設定ファイルの指定」の下の方に表示されるパスの
ini ファイルが作成されているはずです。
[STD] を選択した場合には、 import_std.ini などのファイル名になっているはずです。
この ini ファイルはテキストエディターで開いて、この掲示板に貼り付けてください。
インポートの設定などにバグの原因がある場合には、この ini ファイルを作者が見て
確認しないと原因が特定できませんので…。
フォルダーのパス名などもバグに関連する事が過去にありましたので、伏字にしないでください。
もし、フォルダーのパス名に他人に知られたくない名称がある場合には、もう一度
ボタンを押して、別の(他人に知られてもよい)フォルダー名にしてインポートし直してみてください。
カット・フォルダーが、OS の「ドキュメント」フォルダーだったりすると、 C:\User\ 以下の
アカウント名情報が流出してしまう恐れがありますので、カット・フォルダーには、
D:\AniLaData\Title\Cut01 などのルートからすべて自分でつけたフォルダーを選択
するとよいでしょう。
そうやって、 import_std.ini 内の情報が他人に知られても問題ない状態になったら、
この掲示板の返信に貼り付けてください。以上よろしくお願いいたします。
質問1)
自分の動画 ( x pixel) / サンプル動画質問2)
理解して いる / いない質問3)
理解して いる / いない質問4)
imoprt_std.ini ファイルの貼り付けよろしくお願いいたします。※「ファイルは作成されているのですが画像がない状態」とのことなので、
質問2)3)はおそらく理解しているのであろうと思いますが、過去にそういった
すれ違いで延々やり取りが平行線をたどったことがあるので、念のための確認です。
質問4の imoprt_*.ini が何も作成されていない場合は、そのことをお伝えください。
一応、インポート・ウィザードの最後のページ
https://anilasoft.jp/help/anilapaint-1-5/import/last/usage.htm
ここで強制的に ini ファイルを保存するボタンもあります。 - しらすゲスト
お手数おかけして申し訳ありません。解決いたしました。
サンプルでなく、自分で作成した画像で試しておりました。
サンプルを動画が読み込めたのでピクセル数を合わせてみたところインポートできました。 - 小野木一樹キーマスター
>サンプルを動画が読み込めたのでピクセル数を合わせてみたところインポートできました。
ということは、どうもインポート時のバグですね。おそらく、 SIMD 演算時にアライメント違反でインポート処理ウィンドウ自体がクラッシュしてしまうバグのようです。(まだ当方で再現はしていませんのであくまで勘ですが…)
以前もインポートできないという報告を受けた時がありましてその時には、スキャン画像の横幅が4の倍数でないときに落ちるバグがあって、その時の原因がそれです。そのバグは修正していろんな横幅で試してみたのですが…。どこかのソースが巻き戻ったのかも…?
なぜ、何のエラーメッセージも出なかったというと、おそらく次のような原因です。
インポート処理は別スレッドではなく、別プロセスで起動しているので、メインウィンドウを表示している AniLaPaint 親プロセスからは、インポート処理画面の子プロセスがクラッシュしても分かりません。なので、本当はクラッシュで落ちているのに何のエラーも表示されず、本体は正常終了と思い込み、カット袋を開こうとして「指定されたフォルダーにはAniLaPaint画像ファイルがありません」と表示されたのだと推察できます。今後のバージョンで、子プロセスからインポート処理が正常に終了したことを親プロセスに知らせる処理を内部的に行ってから、インポート処理画面を閉じるように変更したいと思います。また、親プロセスからも、インポート処理ウィンドウが消えたのに、インポート先のフォルダーに画像がなかった場合には、何らかの異常が起きた事を示す別のメッセージを表示したいと思います。
=========================
よろしければ、インポートできなかった時の縦横のピクセル数を教えていただけないでしょうか。
バグの再現まで速まりますので。 - 小野木一樹キーマスター
スキャン画像をいろいろなサイズにして試してみました。
■ 訂正
>おそらく、 SIMD 演算時にアライメント違反でインポート処理ウィンドウ
>自体がクラッシュしてしまうバグのようです。この予測は間違っていました。横幅を 8n+a (a=1~7) で試してもクラッシュすることはありませんでした。なので原因は別にあります。
■ 小さい画像をインポートした時に起こるクラッシュについて
スキャン画像のサイズを 10 pixel ずつ小さくしていってテストした結果。インポート自体は 200 x 112 pixel でも問題なく実行されることが分かりました。
しかし、500 x 281 pixel 未満の場合、インポートは成功しても、カット・パネルのサムネイル作成処理でクラッシュしてメインウィンドウが落ちます。自動再起動を行いますが、再起動中に再びクラッシュし、以降は Windows のスタートメニューから AniLaPaint を実行してもクラッシュして立ち上がらなくなります。
この状況に陥った場合の対処方法は、問題を起こしたカットフォルダーを削除することです。再び起動できるようになります。
画像サイズが小さい場合、横 500 ~ 630 pixel の場合でもサムネイルが変形していたりするので異常の予兆が現れています。
結局、元々サポートを謳っている SD サイズ (640 x 480 pixel) 以上でないと正常に機能しないということが言えます。
次のバージョンアップで、SD サイズ (640 x 480 pixel) 未満の画像は、そもそもインポートできないようにします。
■ 大きい画像をインポートした時に起こるバグについて
次に、大きい画像をインポートした場合にどうなるかをテストしてみました。ただ、こちらは、環境依存が多く作用するものでして、筆者の環境は開発環境のためメモリーが比較的十分にある状態でのテストです。具体的には、 Windows 10 Pro 64bit OS 上でメインメモリー 16 GB の場合でのテスト結果です。また、最大 8 スレッドの CPU を使用し、インポート処理には 7 スレッドをあてがった場合のテストになります。
まず、 Free 版の場合、 2560 × 2560 pixel が最大なので、サンプルのスキャン画像の横幅を 2560 pixel に拡大してインポートしてみました。その結果、インポート中のメモリー使用量は、最大で 20 % ほどで、メモリー不足になる瞬間はありませんでした。何ら問題なくすべての画像が正常にインポートできました。
つまり、 64 bit OS であり、インポート時に OS の空きメモリーサイズが 4GB 以上残っていて 7 スレッド同時実行の場合には、誰のマシンでも同じ結果になると思います。
次に、シェアウェア版の場合、 8192 × 8192 pixel が最大なので、サンプルのスキャン画像の横幅を 8192 pixel に拡大してテストしてみました。その結果、インポート中の画面に表示される最大のメモリー使用量は、最大で 94% でしたが、いくつかの画像がメモリー不足のためインポートできませんでした。
32bit アプリケーションなので、プロセス単位で 4GB が最大のメモリーサイズになりますが、 AniLaPaint 自体もメモリーを消費するので、最大で 3.6 GB 程度までしかインポート処理に使えません。それなのに、 7 スレッドも並列処理すれば、 1 スレッド当たり、 0.5 GB 程度しか使えないので、スレッド間のメモリ争奪戦に負ければインポートが失敗します。これは仕様です。
その時のメッセージは以下の通りです。
————-
A・8 : 実線画像作成処理中にエラーが発生しました。例外が発生しました
対象 : A・8
原因 : メモリが不足しています。
場所 : src\dialog\import\data\importdata_anl.cpp (231)
————-
A・7 : 彩色画像作成処理中にエラーが発生しました。例外が発生しました
対象 : A・7
原因 : FailedCreateBitmap
場所 : src\dialog\import\data\importdata_anp.cpp (228)
————-
A・14 : 彩色画像作成処理中にエラーが発生しました。例外が発生しました
対象 : A・14
原因 : DIBSectionIsNull
場所 : src\dialog\import\data\importdata_anp.cpp (228)
————-
どれも、メモリー不足に陥った場合に出力されるエラーです。長くなったので、次の投稿につづきます。
- 小野木一樹キーマスター
つづき、
エラーに “WIC” の文字列が含まれていた場合(つまり、画像の読み込み時のエラーの場合)、同じスキャン画像に対して3回まで自動的にリトライします。同様に、 “BitmapDCisNull” または “DIBisNull” 文字列が含まれていた場合(つまり、メモリー不足の場合)、10 回まで自動的にリトライします。
リトライ開始までには、半秒ほど間を入れるようにしています。これによって、スレッド間でリソースの奪い合いが生じた場合でも、すぐにはあきらめないようになっています。
“BitmapDCisNull” “DIBisNull” の時、 10 回リトライしてダメだった場合、 “メモリが不足しています。” とエラーに表示して諦めます。
前投稿にある “FailedCreateBitmap” “DIBSectionIsNull” は作者がこのようなエラーが出ることを把握していなかったので、現在は1回もリトライせずに諦めています。次のバージョンではこの2つもリトライ対象にします。
実は、 Windows 10 の 32 bit 版の場合、メモリーが潤沢にあるにもかかわらずこれらのメッセージが出て処理を中断してしまうことが多々ありました。それは、 HD サイズの場合でも起こります。 32 bit OS の場合、いくら物理メモリーが 16 GB あっても、 OS 自体が 4 GB までしか認識しません。その 4GB から OS 自体が使った残りをアプリに回してきます。それなので、 OS が定期的に行っている何らかのバックグラウンド処理がたまたまインポート中に発生したりすると、メモリー不足になりインポートが飛び番になったりします。 Window 7 ではめったに起こらなかったのですが Windows 10 では頻発するようになりました。そのための対策が上記の自動リトライ機能なのです。
ただ、 32 bit OS での OS 内の処理によるメモリー不足の問題は一時的なもので、「半秒ほど間を入れ」るだけでメモリー不足が解消されている可能性がありますが、 64 bit OS の最大インポート処理に 3.6 GB まで使える環境での 8192 × 8192 pixel の画像のインポート時に起こる自動リトライの処理を開始するまでの時間が「半秒」と同じことは問題です。
なぜなら、 64 bit OS 上でメモリー不足が起こった場合、それは OS のバックグラウンド処理が原因ではなく、インポート処理内の別のスレッドがメモリーを使っている当事者であるという事に違いがあるからです。つまり、この場合は「半秒ほど間を入れ」たくらいでは、メモリー不足の状況は変わらないわけです。自動リトライが「半秒」× 10 =「合計5秒」くらいで高い確率でリトライを諦めてしまうことになるからです。
この場合、せめて「スレッドを一旦止めて、他のスレッドがすべて止まった状態になってからリトライする」くらいでないとメモリー不足は解消されません。
ただ当方の環境で何度試してみても、必ずエラーメッセージが表示され、インポート処理画面が突然クラッシュすることはありませんでした。
32 bit OS 上で例えば、メモリーが 2GB しかないのに、 2560 × 2560 pixel の画像を数スレッド使ってインポートしたりすると、極度のメモリー不足に陥って OS のもっと深い部分からの例外…つまり、構造化例外処理 (SEH) などが発生してしまっているのかもしれません。
SEH が発生したと仮定すると、インポート処理画面がエラーメッセージも何も表示せずに終了してしまったことの説明はつきます。
構造化例外処理 (SEH) が起こった場合は、普通はそのままクラッシュさせるのを OS 自体はお勧めしています。なぜなら、その復帰に失敗すると OS や他のアプリにもしわ寄せがいく可能性があるからです。
だからこれが発生するほどの究極のメモリー不足が起きた場合にインポート処理画面が何もエラーメッセージを表示せずにクラッシュしてしまう現象を今後も改善できません。そこには技術的限界があるからです。
でも、インポート処理画面が異常終了したのかどうかを、メインウィンドウ側のプロセスから調べることは可能なはずです。まだそれ用の API にたどり着いていないので修正には時間がかかりそうですが、いずれ適切なエラーメッセージを表示できるようにしたいと思います。
■ メモリーが少ない環境で、大きな画像をインポートする時の対策について
上記でも書きましたが、メモリー不足なのに複数のスレッドがメモリーを取り合ってさらに状況を悪化させるのが問題なので、最初から 1 スレッドのみをインポート処理に与えることでメモリー不足が改善できるかもしれません。
メインウィンドウの 「設定(N)」 メニューの 「環境設定(N)…」 を選択して表示されるダイアログで、
「一括処理」のタブをクリックすると、「● 一括処理の際のスレッド数」 というのがあります。
https://anilasoft.jp/help/anilapaint-1-5/property/thread/index.htm#thread_max
このスレッド数を 1 にすると、メモリーが少ない環境でも比較的大きな画像サイズの動画をインポートできる可能性があります。もっとも、元々1枚しかインポートしていないのにインポートできなかった場合には、これを 1 にしても何ら状況は変わりません。複数の画像をインポートしていて問題が発生した場合の対策としては有効です。メモリーが少ない環境では、ビルド時にも同様の問題が起こります。
以上です
- しらすゲスト
1枚しかインポートしておらず、もともと試していたサイズは1800×1600です。640×480でもできず、サンプルの2112×1188では可能でしたので比率を合わせて1000×563にすると読み込むことができました。
比率の指定など設定であるのでしょうか?何か私が勘違いしているのかもしれません。 - 小野木一樹キーマスター
ご報告ありがとうございます。
当方でも 1800 x 1600 pixel のスキャン画像をトリミングなしの設定でインポートしてみました。
当方の環境は、
— System Info —
[M/B] ASRock H97 Performance
[CPU] Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz (CPUSocket)
[GPU] NVIDIA GeForce GTX 750 Ti (RAM=2.00GB)
[Memory] M2F8G64CB8HB5N-CG 8.00GB (Speed=1333ns)
[Memory] M2F8G64CB8HB5N-CG 8.00GB (Speed=1333ns)
[Monitor] Cintiq21UX
[Disk] HGST HDN 724030ALE640 USB Device 2794.52GB
[Disk] SanDisk SDSSDHP128G 119.24GB
[Version] AniLaPaint Free ver.1.5 (1.5.1.0)
です。これは AniLaPaint のメニューバーから「ヘルプ(H) –> anilasoft.jp をブラウザで開く(A) –> PC情報取得⇒バグ報告掲示板(P)」で取得した情報のうち不要のものを削除した情報です。なお、OS は、同じ開発マシンで切替えられるようにしてあるので、Windows10 (x64), Windows10 (x86), Windows7 (x64), Windows7 (x86) でテストしてみました。 Windows8.1 もありますが、ユーザさいどがこのOSを使っている
確率は低いので今回はテストしていません。SIMD 設定も SSE2, SSE4.1, AVX, AVX2 で切り替えてテストしています。合計、16 パターンの OS x SIMD の組み合わせでテストしてみました。また、環境設定の状態によってバグが起きるかどうかの状態が変化することも考慮して、今回は、起動時の「作品の選択」の画面で「作品名」の部分が空白の部分を選択して、毎回新たに新しい環境設定を新規作成してテストしています。しかも、インポートの最初の画面でのカットフォルダーの設定も、新規フォルダーを毎回選択し、さらに2値化の設定を何もいじらずにデフォルトの状態にてインポートしてみました。これによって、既存の設定は使わずにすべてソフトのデフォルト値の状態でのインポートが可能になります。
その結果、 16 パターンの OS x SIMD の組み合わせのいずれでも、1800 x 1600 pixel のスキャン画像1枚だけの設定で、正常にインポートされることを確認いたしました。
まだ、手持ちのPCの1台のデュアルブート環境でしかテストしていません。古いPCもいくつかうちには転がっているので、もし、 i7-4790K よりも古い CPU をお使いの場合は、 CPU の型番を教えてくだされば、近い時代の CPU のマシンが
うちにあったらそれでもテストしてみます。i7-4790K より最近の CPU は作者は所持していません。テストもできません。とはいえ、 CPU の違いが原因でバグが発生したことは今まで 20 年間で一度もありませんので、他の原因である可能性のほうが高いような気もしますが…。
> 比率の指定など設定であるのでしょうか?
アスペクト比率の設定などは AniLaPaint にはありません。縦横が何対何であっても仕様上は大丈夫です。
今回うちでは 1800 x 1600 で全くバグが発生しないことから、率やピクセル数が原因でバグが発生したのではない可能性が高いです。>もともと試していたサイズは 1800 × 1600 です。 640 × 480 でもできず
>サンプルの 2112 × 1188 では可能でしたので比率を合わせて 1000 × 563 にすると読み込むことができました。この流れですから、「サンプルに縦横の比率を合わせたからインポートできた」…と思ったのだと思いますが、そんなことはありません。おそらく、最初の 1800 × 1600 の時に、AniLaPaint の環境設定内にバグの原因となる因子が入り込んで、それが原因で、 640 × 480 でもできなかったのでしょう。サンプルの 2112 × 1188 を読み込んだ時に、偶然、環境設定内にバグの原因となる因子が除去されてそれ以降は解像度を変えてもインポートできる状態になったのだと思われます。
抽象的に書きましたが、具体的に書くと、おそらく「2値化の設定」がその因子にあたるのではないかと思います。
上記当方のマシンでのテストでは、まっさらな環境設定で「2値化の設定を何もいじらずに」インポートしたら 1800 × 1600 でもうまくいったと書きましたが、普通は「2値化の設定」を各自のスキャン状態や筆圧や何かに合わせて調整すると思います。それで、その調整した何かの設定の組み合わせ如何によっては、今回のようなインポート処理画面中にクラッシュしてしまうバグが発生するのかもしれません。
「2値化の設定」は、インポート開始した時点で環境設定に書き込まれます。そのため、 640 × 480 にした時には「2値化の設定」の最初の状態が環境設定から読み込まれた 1800 × 1600 の時のものだったので、同様にクラッシュしてしまったのではないでしょうか?。 640 × 480 の時にも「2値化の設定」を少しは調節したのかもしれませんが、クラッシュの原因にあたる何かの設定は残されたままだった。
サンプルの 2112 × 1188 を読み込んだ時に…、この 2112 × 1188 が曲者ですが、つまりトリミングをサンプルの通りに行ったという事ですね。つまり、この時に、サンプル内の作者が作った「2値化の設定」ファイルを読み込んだのではないでしょうか。この瞬間、クラッシュの原因になっていた環境設定内に書き込まれいた 640 × 480 の時まであったクラッシュの原因の「2値化の設定」のうちの何かのパラメータが消えたために、インポートできるようになったのだと思われます。となると、サンプルを読み込む前の「2値化の設定」を保存してくれていたらその中に原因があるはずなのですが、今となってはもう消えてしまっているような気もします。
願わくば、 1800 × 1600 の時の行った「2値化の設定」をもう一度思い出して、新たな環境設定、新のカットフォルダーにあえてインポートが失敗するインポートを行っていただき、その時の「2値化の設定」をインポートの2値化の設定ページの右上にあるボタンで保存してそれをテキストエディターで開いてここにコピペして欲しいです。
こちらでも、色々2値化の設定をいじってテストしているのですが、どうも、バグを発生させられなくて困っています…。
- しらすゲスト
画像を作り直して見たところどのサイズ比率でも読み込むことができました。画像に何か問題があったのかもしれません…。
に2値化の設定は詳しく覚えておらず、線の濃さを少し上げたくらいだったと思います。
今後また読み込めなくなったらすぐに設定貼らせていただきます。 - 小野木一樹キーマスター
報告ありがとうございます。
>画像に何か問題があったのかもしれません…。
まぁ、どんな絵でもインポートできないとダメなので。バグですけどね…。
ゴミ除去や途切れた線の修復機能などで、画像解析して処理を決めている部分があるので…、
画像自体の特徴如何によってクラッシュするようなバグだとすると、滅多に起こらないけど、起こったら縮小しても起こりそう…。でも、画像解析といってもドットの色値を見ているだけなので、Jpeg の場合圧縮し直すだけで微妙に色が変化して、バグが回避できたりもしそう…。もし、再び同様の事象が起きた場合には、インポートできないスキャン画像を当方まで送って頂きたいですね。
2値化の設定と共に。私のメールアドレスは、このサイトにメールアドレスを貼ると、スパムメールが大量に来るのではっていません。
インストーラーの AniLaPaintFree_ver1.5.1.0.msi や、インストール後の C:\Program Files (x86)\AniLaSoft\AniLaPaint フォルダー内の AniLaPaintFree.exe を右クリックすると出るメニューからプロパティーを表示して、デジタル署名タブをクリックして表示されるリストの AniLaSoft を選択して「詳細(D)…」ボタンを押すと表示されます。デバッグ環境でその問題のスキャン画像と2値化の設定を使ってインポートすると、クラッシュした瞬間に開発環境の VisualStudio が立ち上がり、ソースコード上のクラッシュした原因の位置にカーソルが移動して「ここがバグってます」って教えてくれるので、バグがすぐに修正できますので。
目で見てソースコードを探すとなると…、インポートの部分と自作画像処理ライブラリーのソースコードだけでも214,864 行もあるので…見つけ出すのに何年かかるやら…。
ではまた何かありましたら、ここに書込んでください。
よろしくお願いいたします。 - 小野木一樹キーマスター
ver 1.6 にておそらくこのスレッドのバグは解消されたと思います。
こちら側でバグを再現できていないので、「おそらく」という表現にとどまります。ver 1.6 では、すべての画像処理を自前のコードに差し替えたので、その際に、インポート時の複数の個所でバッファーオーバーランする可能性のある箇所を見つけて潰しました。ただ、チェックルーチンが余計に入るので多少インポートの処理速度は遅くなりました。
他にも、インポート中にクラッシュした場合には、子プロセスがクラッシュしたことを表すメッセージが表示されるので、「指定されたフォルダーにはAniLaPaint画像ファイルがありません」という意味不明のメッセージの表示を防ぐことができました。
小さい画像のインポート時に、カットパネルのサムネイル作成時にクラッシュして AniLaPaint 自体が落ちるバグも修正しました。
一旦このスレッドはこちらで絞めとさせていただきます。
- 投稿者投稿