createFileInput

(別名: create_file_input)

def setup
  createCanvas(200, 200)
  input = createFileInput(true) do |file|
    if file.type == 'image'
      @img = createImg(file.data, '')
      @img.hide
    else
      @img = nil
    end
  end
  input.position(0, 0)
end

def draw
  background(220)
  image(@img, 0, 0, width, height) if @img
end

p5.jsリファレンス(参考情報)

[p5.js] createFileInput

概要

ファイル選択用ダイアログを生成します。

書式

elm = createFileInput([multiple]) do ... end

引数

引数名内容備考オプションデフォルト値
multiple複数選択の可否true  ... 複数ファイル選択可
false ... 複数ファイル選択不可
false
...ブロックファイル選択後の処理
(ブロック引数'file')

戻値

elm : p5elementオブジェクト
   (<input type="file" (multiple) />タグの HTML要素)

備考

・ローカルに置かれているファイルを選択することができます。

・選択されたファイルの情報がブロック引数にセットされますので、
 ブロック内で当該ファイルの処理をおこなうことができます。

・引数'multiple'に trueを指定すると複数のファイルを選択することができます。
 この場合、選択されたファイルが1つずつブロック引数にセットされ、
 ファイルの個数分だけブロックが順次実行されます。

・ブロック引数'file'にセットされるファイル情報は
 HTMLInputElement.filesによって保持されている Fileオブジェクトをベースにしたもので、
 以下のような情報を持っています。

要素内容
file.nameファイル名
file.typeMIMEタイプ("image", "text"など)
file.subtypeMIMEサブタイプ("png", "plain"など)
file.sizeファイルサイズ
file.dataデータ(ファイルの内容)

関連

HTMLElement 対応表
(p5element).drop