◆PROCESSING 逆引きリファレンス
カテゴリー:イメージ処理
画像を保存するには
【解説】
予め用意しておいたpngやjpg形式の画像をPImageオブジェクトに読み込ませるには loadImage()命令を使います。
読み込んだ画像データを保存するには幾つかの方法がありますが、最も手軽なのはPImageオブジェクトが備えている save メソッド(命令)を使う方法です。
【構文】
pimg.save(filename) ;
【パラメータ】
filename : String : 保存ファイル名
【戻り値】
boolean : True : 成功 / False : 失敗
【注意】
保存ファイル名は、ファイル名を含む絶対パスになります。
保存形式はTIFF, TARGA, JPEG, PNG の何れかで、ファイル名に付く拡張子で判別されます。
.tif なら TIFF、.tgaなら TARGA、.jpg なら JPEG、.pngならPNG形式で保存されます。
ファイル名に拡張子がない場合や上記以外の不明な拡張子の場合、強制的にTIFF形式で保存され、拡張子 .tif が付加されます。
保存ファイル名だけを書いた場合は、スケッチフォルダ(ソースファイル格納場所)に画像が保存されます。
保存しようとしているファイルと同名のファイルが存在しても、強制的に上書き更新される事に注意してください。勝手に上書きされたくない場合は、別途ファイルが存在するかどうかを自分で調べる必要があります。
またファイル名の前につけたパス(フォルダなど)が存在しない場合、強制的にフォルダが作成される事にも注意してください。
例えば img.save( “C:\\hoge\\test.png” ); と書いた場合、 c:\\hoge フォルダがない場合は強制的に作成されます。
【関連記事】
リファレンス:イメージデータを読み込むには
●画像を保存する例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
boolean blRet; PImage img; //画像読み込み img = loadImage( "BlackDesert.png" ); //画像を表示する size( img.width, img.height ); background( img ); //保存する blRet = img.save( "test" ); if( blRet == false ){ //保存失敗 print("error"); } |
本例では、予めスケッチフォルダ(PROCESSINGのソース格納場所)にdataというフォルダを作成し、そこに BlackDesert.png という名前で、画像を用意してある事が前提です。
読み込んだ画像を test という名前でスケッチフォルダに保存指示しています。
この例では拡張子を指定していないため、スケッチフォルダに test.tif というTIFF形式のファイルが出来上がります。
<出力結果例:画像URL 黒い砂漠 公式サイト 様>
●ファイルが存在するか検査してから書き込む例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
PImage img; //画像読み込み img = loadImage( "BlackDesert.png" ); //画像を表示する size( img.width, img.height ); background( img ); //ファイルが存在するか検査する File file = new File( dataPath("") + "\\" + "save.png" ); if ( file.exists() == true ){ //すでにファイルがある print("ファイルが有るよ"); } else { //保存する img.save( dataPath("") + "\\" + "save.png" ); } |
本例では、予めスケッチフォルダ(PROCESSINGのソース格納場所)にdataというフォルダを作成し、そこに BlackDesert.png という名前で、画像を用意してある事が前提です。
読み込んだ画像を save.png という名前でスケッチフォルダの下にある data フォルダに保存しています。
保存する前に Fileオブジェクトの exists()命令で存在するか検査し、存在しない場合だけ保存しています。
<出力結果例>
save.pngというファイルがすでにある場合、以下のように表示されます。
本ページで利用しているアイコン画像は、下記サイト様より拝借しております。各画像の著作権は、それぞれのサイト様および作者にあります。