Processingの画像読み込みができなくなりハマったメモ【Windows】
エラーの内容
PImage gazou = loadImage("map-world.jpg");
エラー文
The file "mapworld.jpg" is missing or inaccessible, make sure the URL is valid or that the file has been added to your sketch and is readable.
map-world.jpgが存在しないと言われてしまった
試したこと① dataフォルダーの確認
スケッチと同じ階層のdataフォルダーの中に、map-world.jpgが存在するかどうか確認
ちゃんと存在している
拡張子もOKそう
試したこと② Processingのインストールをやり直す
自分はたまにProcessingの作業ファイルの場所を変にいじったりすることがある。そういうことをしすぎて、Processingのパスの設定をおかしくしてしまった気がしている。そのため、一旦すべてリセットするか?という気持ちになった。
一旦Processing関連のファイルをすべて削除した上で、改めて公式サイトからインストールしてきて、同じコードを動かしてみた。
しかし、やはり先ほどと同じエラーが出てしまう。
この時点でかなり絶望は深まっています。
試したこと③ Processingの作業フォルダーの確認
ファイル→設定
デフォルトのProcessingの作業フォルダー 確認する
ちゃんとドキュメントフォルダーが選べてそうではあるのだが、よく見るとパスが怪しげな文字化けをしている
エクスプローラーにて、「ドキュメント」の上で右クリック→パスのコピー
コピーしたパスを適当なテキストファイルに貼りつけてみると...
C:\Users\<ユーザー名>\OneDrive\문서
_人人人人_
> 문서 <
 ̄ Y^Y^Y ̄
「文書」という意味らしい
マジでなぜ韓国語????
少し調べたところ、あまり起きることではないっぽいが、OneDriveで言語設定をしてないと韓国語や中国語でフォルダー名が作られてしまうことがあるらしい
エクスプローラー上では「ドキュメント」という日本語名で見えてる、というのが気づきづらいポイントかも(泣)
C:\Users\<ユーザー名>\OneDrive\문서
ちなみに、ターミナルで確認したところ、このフォルダー↑とは別に、
C:\Users\<ユーザー名>\Documents
このフォルダー↑も存在はしていて、中身は空でした!
対処
いろいろ対処方法はありえるとは思うが、とりあえず自分は、C:\Users\<ユーザー名>\Documents
というパスにすべてを統一することにした。
①デフォルトのProcessingの作業ディレクトリを変更
以下のように変更
C:\Users\<ユーザー名>\Documents\Processing\
のなかに作るようにする
②Processingのスケッチを新しく作るときは、こんな感じ↓
③画像などデータを入れるときも同じようにする
C:\Users\<ユーザー名>\Documents\Processing\<スケッチ名>\data\
のなかに配置しましょう
これで自分は画像読み込めるようになりました!読み込めなかったら、すみません!
まとめ
OneDriveの言語設定をほったらかしにしたり、適当にOneDrive連携したり解除したり、Processingの作業ディレクトリも適当に作ったりしていると、本当に恐ろしいことになります。
拙い(というかこれが最適な対処なのか自信がない)記事ではありましたが、最後までお読みいただき、ありがとうございました!
Discussion