uiを使って画像を表示してみる

Pythonista3

ui.ImageViewで、表示する領域を作って、ui.Image型で画像データを渡す事で表示できる。方法は2種類。

  • ファイルから読み込んだ画像を表示する
  • スクリプト上で生成した画像データを表示するか

ファイルから読み込んだ画像を表示する

import ui

img1 = ui.ImageView(frame=(0, 0, 350, 300))
img1.image = ui.Image('test:Lenna')

v = ui.View()
v.add_subview(img1)
v.present()

ui.Imageで画像ファイルを読み込んで、そのまま、ui.ImageView.imageに設定する

スクリプト上で生成した画像データを表示する

import io
import matplotlib.pyplot as plt
import numpy as np
import ui

img2 = ui.ImageView(frame=(0, 0, 350, 300))
x = np.arange(0, 10, 0.1)
y = np.sin(x)
plt.plot(x,y)
with io.BytesIO() as buf:
  plt.savefig(buf)
  png = ui.Image.from_data(buf.getvalue())
  img2.image = png

v = ui.View()
v.add_subview(img2)
v.present()

上の例では、matplotlibで作ったグラフを、io.BytesIOを解してデータを渡す。ui.Image.from_dataで、ui.Image型に変換して、ui.ImageView.imageに設定する

まとめ

uiを使った、画像の表示方法を、紹介しました。是非試してみてください!

タイトルとURLをコピーしました