0

もっと単純化して、

ここに画像の説明を入力 このシート画像は 150x54 のサイズの PNG 形式であり、キャンバスにレンダリングして画像データを取得すると、ピクセル操作を使用してピクセルを RGB 空間に簡単に変更できます。ここでは、アルファが 0 より大きいピクセルのみを変更しています。そのため、色を変更する場合は正常に機能します。

要点に戻りますが、シートに色ではなくパターンを描きたいのですが、たとえば花のパターンを描きたいとしましょう。シートの非透過領域にのみこれを描く方法を知りたいですか? キャンバスの createPattern 関数を使用できることはわかっていますが、必要のないすべての 150x54 ピクセルでレンダリングされます。

これを行う方法はありますか?

HTML5 で自転車ビューを作成しており、自転車をさまざまな色でカスタマイズしたいと考えています。

サイクルのさまざまな部分のさまざまな画像とともに HTML キャンバスを使用してそれを達成しました。クライアントは色の代わりにパターンをレンダリングする必要があるため、適切な x、y の適切な部分に色の代わりに画像パターンをレンダリングする最善の方法を知る必要があります。とサイズ。

カラーレンダリングでは、ピクセル操作を使用して各ピクセルの RGB 値を変更していますが、パターンの場合、パターン画像データを RGB 値で変更する方法がわかりませんか?

これを行う方法はありますか?または別の方法はありますか?

4

1 に答える 1

0

複合操作を使用して、描画操作を特定のピクセルにターゲティングできます。

たとえば、を参照してください

http://mrcoles.com/blog/canvas-composite-operations-demo-animation/

「source-atop」を選択した場合、ボールは下に下にあるテキストがある場所にのみ描画されます。

このようにして、下にサドルの非アルファピクセルがある場所にのみパターンを描画するようにターゲットを設定できます。

createPattern()がコンポジションをサポートしているかどうかはわかりません。そうでない場合は、手動ですべての画像に対してdrawImage()を繰り返すことができます。

于 2012-11-23T13:53:41.793 に答える