---
# System prepended metadata

title: 第12章【影音互動與即時資料應用】媒體 - 影像、聲音與影片的整合與拆解

---

# 第12章【影音互動與即時資料應用】媒體 - 影像、聲音與影片的整合與拆解

12.1

使用影像 聲音 和影片整合進作品中

拼貼：pinterest 搜尋 "collage art"

【影音互動與即時資料應用】媒體 - 影像、聲音與影片的整合與拆解

- 影像素材包括變形 扭曲 分解跟使用
- 用影像素材來加上材質
- 讓各種動作綁上聲音
- 解構變成一個一個的像素，重製成抽象畫，做像素等級的扭曲或特效

!! 預先載入素材

- 把動作跟聲音連起來
- 解構圖片做成粒子跟像素
- 影片可以視為一個一個圖片的連續

Beact：一個音樂產生器 from Vibert
https://vibertthio.com/portfolio/projects/beact/

Blend Mode, Transform, Nosie

glitch 雜訊效果

Pixel sorting 把像素拿來做排序

Francois Vogel
https://www.instagram.com/francois.vogel/

glitch lab app
https://play.google.com/store/apps/details?id=com.ilixa.glitch&hl=en_US&gl=US&pli=1
取像素再換成圖形

12.2

如何載入圖片image()

```
let bmp

function preload(){ // 重要
    let bmp = loadImage(imgsrc)
}
```

把圖片畫出來
```
imageMode(CENTER) // 決定繪圖的起點
```

```
function draw(){
    image(bmp, x, y, width, height)
}
```

利用 for loop, push() 跟 pop()
畫出魚的位置變化


12.3

結合物件導向
改成說水母可以把魚嚇走@@

Class Fish() 代表魚
constructor
基本屬性 位置 速度

把剛剛的圖片加入粒子
this.img = fishImg
或利用 args 帶入

```
imageMode(CENTER)
```
建議放到 push() 跟 pop() 裡面

!! 注意 Function Scope 的問題

先 translate 再 scale
最好用 push 和 pop 先保護一下

速度的方向：
```
random2D() 隨機向量
```

```
let ang = this.vector.heading()
// 回傳 vector 指向的角度(-PI and PI 之間)
```

!! 全局變數 global variable

lerp 平滑化
```
size = lerp(nowSize, targetSize)
```

12.4

https://unsplash.com
很漂亮免版權的圖片

```
var moonImg
function preload(){
    moonImg = loadImage(圖片路徑)
}
function draw(){
    image(moonImg, 0, 0)
}
```

利用 for loop 取像素
```
let span = 50
for(i=0;i<moonImg.width;i+=span){  
    for(o=0;o<moonImg.height;o+=span){
        let c = moonImg.get(i, o) // 取出該位置的像素顏色
        fill(c)
        ellipse(i, o, span)
    }
}
```

針對像素作扭曲
```
push()
    translate(i, o)
    rotate(i/100)
    scale(random(2))
    rect(0, 0 ,random(30), random(30))
pop()
```

材質？Noise Texture
```
blendMode(MULTIPLY) // 忽略白色，留下深色
image(noiseImg, 0, 0, width, height)
```

!! 加一些畫布的操作，讓畫作更抽象


12.5 聲音的載入與操作

聲音的載入

先下載音檔音效

右邊側欄 files 上傳音檔

![](https://i.imgur.com/kNcE0Ak.png)


讓半徑跟 frameCount 作連動

將畫面分區，點擊觸發不同音階音檔

![](https://i.imgur.com/7kMDymC.png)



