ここまでで準備したAppについて, インポートしたLilySwiftが動作することを確認します.
簡単な画像処理を行なってSwiftUIの画面に表示してみましょう.
- iPadOS 17.1
- Swift Playgrounds 4.4
-
作成したAppプロジェクトの ContentView.swift を開きます.
-
LilySwiftForPlayground をインポートします. (.xcodeprojの場合, LilySwift)
-
以下のコードのように createImage関数を追加します. LLImageはLilyのもつ画像オブジェクトです. ここでピクセルを操作してグラデーション画像を作成します.
-
SwiftUIのVStackの中にImageを作ります.
-
Imageに読み込む画像に createImage().uiImage! を記述します.
- createImageが返してくれたLLImageをUIImageに変換するという意味です.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import SwiftUI
import LilySwiftForPlayground // LilySwiftの場合書き換えてください.
// Lily画像データを作成する関数
func createImage() -> LLImage {
// 256x256ピクセルの画像を作成
let image = LLImage( wid:256, hgt:256 )
// RGBAのピクセルデータを取得
let matrix = image.rgbafMatrix!
// 1ピクセルずつ色を塗っていく
for y in 0 ..< image.height {
for x in 0 ..< image.width {
let red = Float( x ) / Float( image.width )
let green = Float( y ) / Float( image.height )
let blue = Float( x + y ) / Float( image.width + image.height )
matrix[y][x] = LLColor( red, green, blue )
}
}
return image
}
struct ContentView: View
{
var body: some View {
VStack {
// ImageオブジェクトにcreateImageで作った画像を使う
Image( uiImage: createImage().uiImage! )
}
}
}
|
SwiftUIのImageに作成したグラデーション画像が表示されます. LilySwiftが動作していることも確認できました.