2D 描画操作を含む Android アプリを作成しています。saveLayer と xfermode SRC_IN を使用して 2 つの画像の交点を描画しようとしています。何も回転しなくても問題ないように見えますが、画像の1つを回転すると、画像を囲む回転した長方形の外側のピクセルを不透明(交差点の一部)として扱うか、そうでない可能性が高いようです描画操作の一部です (その上に配置された透明なピクセルの影響を受けません)。
以下は、私が話していることの写真です。下部にある「5」と「3」の画像は、「5」に xfermode SRC_IN を使用して「3」の画像を描画 (回転) することで「交差」しています。透明度を視覚化するために、グラデーションの背景に 3 つの画像すべてを表示しました。
少し考えた結果、「3」のクリッピング長方形の外側の領域は不透明として扱われておらず、単に描画操作の一部として扱われていないのではないかと思います。興味深いのは、レイヤーをハードウェア レイヤーではなくソフトウェア レイヤーとしてマークすると、3 のクリッピング四角形の外側の部分ではなく、背景に数字の「5」が表示されることです。私はこれを理解していません。
SRC_IN 描画操作の影響を受ける領域はどのように決定されますか? (通常は問題ではありませんが、SRC_IN のユニークな機能の 1 つは、描画される画像の透明部分に基づいて不透明なピクセルを透明にする必要があることです。そのため、通常は描画されるにもかかわらず、全体のサイズが重要になります。 t be.) 3 の描画領域の外側のピクセルを交差点の一部として扱わないようにするにはどうすればよいですか? 3 を描画するときにアクティブなクリッピング四角形を拡大する必要がありますか?