3

p5 でオフスクリーン グラフィックス バッファの不透明度を変更しようとしていますが、わかりません。

検討:

var pg = createGraphics(...)
var image = loadImage(...)

tint(255, 50)
image(image, 0, 0) <----- this works
image(pg, 0, 0)    <----- but this doesn't

作業例はこちら

tint(255, x) 色を変更せずに不透明度を に設定するx必要がありますが、効果がないようです。ただし、画像では問題なく動作します...何が欠けていますか?

4

1 に答える 1

2

更新: P5 (処理中ではありませんが) のように見えますが、実際には tint()オブジェクトに対してのみ機能しp5.Imageます。したがって、回避策は、バッファからピクセルを取得するためにp5.Image使用して、オフスクリーン グラフィック バッファからを作成することです (画像を返します)。get()紛らわしいことに、 の参考記事get()も画像を使用しているため、実際に何が起こっているのかを理解するのが難しくなっています。

更新された (動作する) 例はこちらです。

繰り返しますが、これを行う価値がある理由は、複雑な形状 (テキストなど)を一だけバッファーにレンダリングし、必要に応じてそのバッファーを描画/操作することです。これにより、CPU 負荷が大幅に軽減され、スケッチが高速化されます。

(これを理解した功績はIanにあります)

于 2017-05-18T15:11:02.660 に答える