Skip to content

APIリファレンス: ImageFilter

ImageFilterオブジェクトは、描画時にぼかし、影、色変換などの画像レベルの効果を適用するために使用されます。これらはsetImageFilter()を介してPaintに適用されます。

静的ファクトリーメソッド

一般的な効果

  • makeBlur(sigmaX, sigmaY, tileMode): ガウスぼかしを作成します。
  • makeDropShadow(dx, dy, sigmaX, sigmaY, color): ドロップシャドウを作成します。
  • makeDropShadowOnly(dx, dy, sigmaX, sigmaY, color): 影のみを描画します。
  • makeColorFilter(colorFilter, input): 画像にColorFilterを適用します。

結合と合成

  • makeCompose(outer, inner): 2つのフィルターを連結します。
  • makeMerge(filters[]): 複数のフィルターをSrcOverブレンディングで統合します。
  • makeArithmetic(k1, k2, k3, k4, enforcePM, bg, fg): 算術式を使用して2つの入力を結合します。
  • makeBlend(blendMode, bg, fg): BlendModeを使用して2つの入力をブレンドします。

幾何学的変換とサンプリング

  • makeOffset(dx, dy, input): 入力をオフセット分だけシフトします。
  • makeMatrixTransform(matrix, sampling, input): 行列変換を適用します。
  • makeCrop(rect, tileMode, input): 入力フィルターをクロップします。
  • makeTile(src, dst, input): ソース領域をデスティネーションにタイル状に配置します。

高度なフィルター

  • makeRuntimeShader(builder, childName, input): カスタムSkSLシェーダーをフィルターとして適用します。
  • makeDisplacementMap(xChan, yChan, scale, displacement, color): 別の画像に基づいてピクセルを変位させます。
  • makeMatrixConvolution(...): NxMの畳み込みカーネルを適用します。
  • makeLighting(...): 様々な照明フィルター(遠方光源、点光源、スポットライト)。

使用例

java
Paint paint = new Paint()
    .setImageFilter(ImageFilter.makeBlur(5f, 5f, FilterTileMode.CLAMP));

canvas.drawRect(Rect.makeWH(100, 100), paint);