类android.graphics.BlurMaskFilter源码实例Demo

下面列出了怎么用android.graphics.BlurMaskFilter的API类实例代码及写法,或者点击链接到github查看源代码。

private void setFairyImage() {
    boolean glow_available = fairy_glow_on && getBooleanPreferences(getApplicationContext(), PREF_KCA_NOTI_QUEST_FAIRY_GLOW);
    Bitmap src = KcaUtils.getFairyImageFromStorage(getApplicationContext(), viewBitmapId, dbHelper);
    Bitmap alpha = src.extractAlpha();
    Bitmap bmp = Bitmap.createBitmap(src.getWidth() + margin,
            src.getHeight() + margin, Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bmp);
    if (glow_available) {
        Paint glow_paint = new Paint();
        glow_paint.setColor(glowColor);
        glow_paint.setMaskFilter(new BlurMaskFilter(glowRadius, BlurMaskFilter.Blur.OUTER));
        canvas.drawBitmap(alpha, halfMargin, halfMargin, glow_paint);
    }
    Paint color_paint = new Paint();
    if (taiha_status) {
        color_paint.setColorFilter(new PorterDuffColorFilter(ContextCompat.getColor(getApplicationContext(),
                R.color.colorHeavyDmgStateWarn), PorterDuff.Mode.MULTIPLY));
    } else if (glow_available) {
        color_paint.setColorFilter(new PorterDuffColorFilter(glowColor2, PorterDuff.Mode.MULTIPLY));
    }
    canvas.drawBitmap(src, halfMargin, halfMargin, color_paint);
    viewbutton.setImageBitmap(bmp);
}
 
源代码2 项目: kAndroid   文件: FloatParticle.java
public FloatParticle(int width, int height) {
    mWidth = width;
    mHeight = height;
    mRandom = new Random();

    startPoint = new Point((int) (mRandom.nextFloat() * mWidth), (int) (mRandom.nextFloat() * mHeight));

    // 抗锯齿
    mPaint = new Paint();
    mPaint.setAntiAlias(true);
    mPaint.setColor(Color.WHITE);
    // 防抖动
    mPaint.setDither(true);
    mPaint.setStyle(Paint.Style.FILL);
    // 设置模糊效果 边缘模糊
    mPaint.setMaskFilter(new BlurMaskFilter(BLUR_SIZE, BlurMaskFilter.Blur.SOLID));

    mPath = new Path();
    mPathMeasure = new PathMeasure();

    startPoint.x = (int) (mRandom.nextFloat() * mWidth);
    startPoint.y = (int) (mRandom.nextFloat() * mHeight);
}
 
源代码3 项目: TheGlowingLoader   文件: RippleAnimator.java
public void draw(Canvas canvas, Paint paint) {
    paint.setMaskFilter(null);
    paint.setStyle(Paint.Style.STROKE);

    paint.setColor(configuration.getRippleColor());
    paint.setStrokeWidth(circleStroke);
    paint.setAlpha((int) (255 * circleAlpha));
    canvas.drawCircle(cX, cY, circleRadius, paint);

    if (!configuration.isDisableShadows()) {
        paint.setMaskFilter(new BlurMaskFilter(50, BlurMaskFilter.Blur.NORMAL));
        paint.setStrokeWidth(.28f * circleRadius);
        paint.setAlpha((int) (255 * circleAlpha * configuration.getShadowOpacity()));
        canvas.drawCircle(cX, cY + 100, circleRadius, paint);
    }


    paint.setMaskFilter(null);
    paint.setColor(configuration.getRippleColor());
    paint.setStrokeWidth(circleStroke2);
    paint.setAlpha((int) (255 * circleAlpha2));
    canvas.drawCircle(cX, cY, circleRadius2, paint);
}
 
public FreeHandView(Context context, AttributeSet attrs) {
    super(context, attrs);
    mPaint = new Paint();
    mPaint.setAntiAlias(true);
    mPaint.setDither(true);
    mPaint.setColor(DEFAULT_COLOR);
    //mPaint.setAlpha(DEFAULT_COLOR);
    mPaint.setStyle(Paint.Style.STROKE);
    mPaint.setStrokeJoin(Paint.Join.ROUND);
    mPaint.setStrokeCap(Paint.Cap.ROUND);
    mPaint.setXfermode(null);
    mPaint.setAlpha(0xff);

    mEmboss = new EmbossMaskFilter(new float[] {1, 1, 1}, 0.4f, 6, 3.5f);
    mBlur = new BlurMaskFilter(5, BlurMaskFilter.Blur.NORMAL);
}
 
源代码5 项目: FruitNinja   文件: GameThread.java
public void startGame(int width, int height) {
this.width = width;
this.isRunning = true;
this.projectileManager.setWidthAndHeight(width, height);
this.timer.startGame();
this.self = executor.scheduleAtFixedRate(this, 0, 10, TimeUnit.MILLISECONDS);

this.scorePaint.setColor(Color.MAGENTA);
this.scorePaint.setAntiAlias(true);
this.scorePaint.setTextSize(38.0f);

this.linePaint.setAntiAlias(true);
this.linePaint.setColor(Color.YELLOW);
this.linePaint.setStyle(Paint.Style.STROKE);
this.linePaint.setStrokeJoin(Paint.Join.ROUND);
this.linePaint.setStrokeWidth(5.0f);

this.linePaintBlur.set(this.linePaint);
this.linePaintBlur.setMaskFilter(new BlurMaskFilter(9.0f, BlurMaskFilter.Blur.NORMAL));
   }
 
源代码6 项目: RxTools-master   文件: RxImageTool.java
/**
 * 可以对该图的非透明区域着色
 * <p>
 * 有多种使用场景,常见如 Button 的 pressed 状态,View 的阴影状态等
 *
 * @param iv
 * @param src
 * @param radius
 * @param color
 * @return
 */
private static Bitmap getDropShadow(ImageView iv, Bitmap src, float radius, int color) {

    final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    paint.setColor(color);

    final int width = src.getWidth(), height = src.getHeight();
    final Bitmap dest = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    final Canvas canvas = new Canvas(dest);
    final Bitmap alpha = src.extractAlpha();
    canvas.drawBitmap(alpha, 0, 0, paint);

    final BlurMaskFilter filter = new BlurMaskFilter(radius, BlurMaskFilter.Blur.OUTER);
    paint.setMaskFilter(filter);
    canvas.drawBitmap(alpha, 0, 0, paint);
    iv.setImageBitmap(dest);

    return dest;
}
 
源代码7 项目: CalendarView   文件: SingleWeekView.java
public SingleWeekView(Context context) {
    super(context);

    mRingPaint.setAntiAlias(true);
    mRingPaint.setColor(mSchemePaint.getColor());
    mRingPaint.setStyle(Paint.Style.STROKE);
    mRingPaint.setStrokeWidth(dipToPx(context, 1));
    setLayerType(View.LAYER_TYPE_SOFTWARE, mRingPaint);
    mRingPaint.setMaskFilter(new BlurMaskFilter(30, BlurMaskFilter.Blur.SOLID));

    mDisablePaint.setColor(0xFF9f9f9f);
    mDisablePaint.setAntiAlias(true);
    mDisablePaint.setStrokeWidth(dipToPx(context,2));
    mDisablePaint.setFakeBoldText(true);

    mH = dipToPx(context, 18);
}
 
源代码8 项目: CalendarView   文件: SingleMonthView.java
public SingleMonthView(Context context) {
    super(context);

    mRingPaint.setAntiAlias(true);
    mRingPaint.setColor(mSchemePaint.getColor());
    mRingPaint.setStyle(Paint.Style.STROKE);
    mRingPaint.setStrokeWidth(dipToPx(context, 1));
    setLayerType(View.LAYER_TYPE_SOFTWARE, mRingPaint);
    mRingPaint.setMaskFilter(new BlurMaskFilter(30, BlurMaskFilter.Blur.SOLID));

    mDisablePaint.setColor(0xFF9f9f9f);
    mDisablePaint.setAntiAlias(true);
    mDisablePaint.setStrokeWidth(dipToPx(context,2));
    mDisablePaint.setFakeBoldText(true);

    mH = dipToPx(context, 18);

}
 
源代码9 项目: CalendarView   文件: FullMonthView.java
public FullMonthView(Context context) {
    super(context);

    mRectPaint.setStyle(Paint.Style.STROKE);
    mRectPaint.setStrokeWidth(dipToPx(context, 0.5f));
    mRectPaint.setColor(0x88efefef);

    mSchemeBasicPaint.setAntiAlias(true);
    mSchemeBasicPaint.setStyle(Paint.Style.FILL);
    mSchemeBasicPaint.setTextAlign(Paint.Align.CENTER);
    mSchemeBasicPaint.setFakeBoldText(true);

    //兼容硬件加速无效的代码
    setLayerType(View.LAYER_TYPE_SOFTWARE, mSchemeBasicPaint);
    //4.0以上硬件加速会导致无效
    mSelectedPaint.setMaskFilter(new BlurMaskFilter(50, BlurMaskFilter.Blur.SOLID));
}
 
源代码10 项目: CalendarView   文件: FullWeekView.java
public FullWeekView(Context context) {
    super(context);

    mRectPaint.setStyle(Paint.Style.STROKE);
    mRectPaint.setStrokeWidth(dipToPx(context, 0.5f));
    mRectPaint.setColor(0x88efefef);

    mSchemeBasicPaint.setAntiAlias(true);
    mSchemeBasicPaint.setStyle(Paint.Style.FILL);
    mSchemeBasicPaint.setTextAlign(Paint.Align.CENTER);
    mSchemeBasicPaint.setColor(0xffed5353);
    mSchemeBasicPaint.setFakeBoldText(true);

    //兼容硬件加速无效的代码
    setLayerType(View.LAYER_TYPE_SOFTWARE, mSchemeBasicPaint);
    //4.0以上硬件加速会导致无效
    mSelectedPaint.setMaskFilter(new BlurMaskFilter(50, BlurMaskFilter.Blur.SOLID));
}
 
源代码11 项目: ZDepthShadow   文件: ShadowOval.java
@Override
public void setParameter(ZDepthParam param, int left, int top, int right, int bottom) {
    mRectTopShadow.left   = left;
    mRectTopShadow.top    = top    + param.mOffsetYTopShadowPx;
    mRectTopShadow.right  = right;
    mRectTopShadow.bottom = bottom + param.mOffsetYTopShadowPx;

    mRectBottomShadow.left   = left;
    mRectBottomShadow.top    = top    + param.mOffsetYBottomShadowPx;
    mRectBottomShadow.right  = right;
    mRectBottomShadow.bottom = bottom + param.mOffsetYBottomShadowPx;

    mTopShadow.getPaint().setColor(Color.argb(param.mAlphaTopShadow, 0, 0, 0));
    if (0 < param.mBlurTopShadowPx) {
        mTopShadow.getPaint().setMaskFilter(new BlurMaskFilter(param.mBlurTopShadowPx, BlurMaskFilter.Blur.NORMAL));
    } else {
        mTopShadow.getPaint().setMaskFilter(null);
    }

    mBottomShadow.getPaint().setColor(Color.argb(param.mAlphaBottomShadow, 0, 0, 0));
    if (0 < param.mBlurBottomShadowPx) {
        mBottomShadow.getPaint().setMaskFilter(new BlurMaskFilter(param.mBlurBottomShadowPx, BlurMaskFilter.Blur.NORMAL));
    } else {
        mBottomShadow.getPaint().setMaskFilter(null);
    }
}
 
源代码12 项目: NewbieGuide   文件: GuideLayout.java
private void init() {
    mPaint = new Paint();
    mPaint.setAntiAlias(true);
    PorterDuffXfermode xfermode = new PorterDuffXfermode(PorterDuff.Mode.CLEAR);
    mPaint.setXfermode(xfermode);

    //设置画笔遮罩滤镜,可以传入BlurMaskFilter或EmbossMaskFilter,前者为模糊遮罩滤镜而后者为浮雕遮罩滤镜
    //这个方法已经被标注为过时的方法了,如果你的应用启用了硬件加速,你是看不到任何阴影效果的
    mPaint.setMaskFilter(new BlurMaskFilter(10, BlurMaskFilter.Blur.INNER));
    //关闭当前view的硬件加速
    setLayerType(LAYER_TYPE_SOFTWARE, null);

    //ViewGroup默认设定为true,会使onDraw方法不执行,如果复写了onDraw(Canvas)方法,需要清除此标记
    setWillNotDraw(false);

    touchSlop = ViewConfiguration.get(getContext()).getScaledTouchSlop();
}
 
源代码13 项目: libcommon   文件: MaskImageView.java
@Override
  protected synchronized void onSizeChanged(int width, int height, int old_width, int old_height) {
  	super.onSizeChanged(width, height, old_width, old_height);
  	if ((width == 0) || (height == 0)) return;
  	// paddingを考慮してマスク用のDrawableのサイズを計算
  	final int padding_left = getPaddingLeft();
  	final int padding_top = getPaddingTop();
  	final int sz = Math.min(width - padding_left - getPaddingRight(), height - padding_top - getPaddingBottom());
final int left =  (width - sz) / 2 + padding_left;
final int top = (height - sz) / 2 + padding_top;
mMaskBounds.set(left, top, left + sz, top + sz);
if (sz > 3) {
	mMaskedPaint.setMaskFilter(new BlurMaskFilter(sz * 2 / 3.0f, BlurMaskFilter.Blur.NORMAL));
}

      // View自体のサイズはそのまま
mViewBoundsF.set(0, 0, width, height);
      if (mMaskDrawable != null) {
	mMaskDrawable.setBounds(mMaskBounds);
}
  }
 
源代码14 项目: android   文件: CommaWeekView.java
public CommaWeekView(Context context) {
    super(context);

    mTextPaint.setTextSize(dipToPx(context, 8));
    mTextPaint.setColor(0xffffffff);
    mTextPaint.setAntiAlias(true);
    mTextPaint.setFakeBoldText(true);

    mSchemeBasicPaint.setAntiAlias(true);
    mSchemeBasicPaint.setStyle(Paint.Style.FILL);
    mSchemeBasicPaint.setTextAlign(Paint.Align.CENTER);
    mSchemeBasicPaint.setColor(0xffed5353);
    mSchemeBasicPaint.setFakeBoldText(true);
    mRadio = dipToPx(getContext(), 7);
    mPadding = dipToPx(getContext(), 4);
    Paint.FontMetrics metrics = mSchemeBasicPaint.getFontMetrics();
    mSchemeBaseLine = mRadio - metrics.descent + (metrics.bottom - metrics.top) / 2 + dipToPx(getContext(), 1);

    //兼容硬件加速无效的代码
    setLayerType(View.LAYER_TYPE_SOFTWARE, mSchemeBasicPaint);
    //4.0以上硬件加速会导致无效
    mSchemeBasicPaint.setMaskFilter(new BlurMaskFilter(25, BlurMaskFilter.Blur.SOLID));
}
 
源代码15 项目: android   文件: CommaMonthView.java
public CommaMonthView(Context context) {
    super(context);

    mTextPaint.setTextSize(dipToPx(context, 8));
    mTextPaint.setColor(0xffffffff);
    mTextPaint.setAntiAlias(true);
    mTextPaint.setFakeBoldText(true);

    mSchemeBasicPaint.setAntiAlias(true);
    mSchemeBasicPaint.setStyle(Paint.Style.FILL);
    mSchemeBasicPaint.setTextAlign(Paint.Align.CENTER);
    mSchemeBasicPaint.setFakeBoldText(true);
    mRadio = dipToPx(getContext(), 7);
    mPadding = dipToPx(getContext(), 4);
    Paint.FontMetrics metrics = mSchemeBasicPaint.getFontMetrics();
    mSchemeBaseLine = mRadio - metrics.descent + (metrics.bottom - metrics.top) / 2 + dipToPx(getContext(), 1);

    //兼容硬件加速无效的代码
    setLayerType(View.LAYER_TYPE_SOFTWARE, mSchemeBasicPaint);
    //4.0以上硬件加速会导致无效
    mSchemeBasicPaint.setMaskFilter(new BlurMaskFilter(25, BlurMaskFilter.Blur.SOLID));
}
 
源代码16 项目: kcanotify   文件: KcaViewButtonService.java
private void setFairyImage() {
    boolean glow_available = fairy_glow_on && getBooleanPreferences(getApplicationContext(), PREF_KCA_NOTI_QUEST_FAIRY_GLOW);
    Bitmap src = KcaUtils.getFairyImageFromStorage(getApplicationContext(), viewBitmapId, dbHelper);
    Bitmap alpha = src.extractAlpha();
    Bitmap bmp = Bitmap.createBitmap(src.getWidth() + margin,
            src.getHeight() + margin, Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bmp);
    if (glow_available) {
        Paint glow_paint = new Paint();
        glow_paint.setColor(glowColor);
        glow_paint.setMaskFilter(new BlurMaskFilter(glowRadius, BlurMaskFilter.Blur.OUTER));
        canvas.drawBitmap(alpha, halfMargin, halfMargin, glow_paint);
    }
    Paint color_paint = new Paint();
    if (taiha_status) {
        color_paint.setColorFilter(new PorterDuffColorFilter(ContextCompat.getColor(getApplicationContext(),
                R.color.colorHeavyDmgStateWarn), PorterDuff.Mode.MULTIPLY));
    } else if (glow_available) {
        color_paint.setColorFilter(new PorterDuffColorFilter(glowColor2, PorterDuff.Mode.MULTIPLY));
    }
    canvas.drawBitmap(src, halfMargin, halfMargin, color_paint);
    viewbutton.setImageBitmap(bmp);
}
 
源代码17 项目: Trebuchet   文件: HolographicOutlineHelper.java
private HolographicOutlineHelper(Context context) {
    Resources res = context.getResources();

    float mediumBlur = res.getDimension(R.dimen.blur_size_medium_outline);
    mMediumOuterBlurMaskFilter = new BlurMaskFilter(mediumBlur, BlurMaskFilter.Blur.OUTER);
    mMediumInnerBlurMaskFilter = new BlurMaskFilter(mediumBlur, BlurMaskFilter.Blur.NORMAL);

    mThinOuterBlurMaskFilter = new BlurMaskFilter(
            res.getDimension(R.dimen.blur_size_thin_outline), BlurMaskFilter.Blur.OUTER);

    mShadowBlurMaskFilter = new BlurMaskFilter(
            res.getDimension(R.dimen.blur_size_click_shadow), BlurMaskFilter.Blur.NORMAL);

    mDrawPaint.setFilterBitmap(true);
    mDrawPaint.setAntiAlias(true);
    mBlurPaint.setFilterBitmap(true);
    mBlurPaint.setAntiAlias(true);
    mErasePaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));
    mErasePaint.setFilterBitmap(true);
    mErasePaint.setAntiAlias(true);
}
 
源代码18 项目: TurboLauncher   文件: HolographicOutlineHelper.java
private HolographicOutlineHelper(Context context) {
    final float scale = LauncherAppState.getInstance().getScreenDensity();

    mMinOuterBlurRadius = (int) (scale * 1.0f);
    mMaxOuterBlurRadius = (int) (scale * 12.0f);

    mExtraThickOuterBlurMaskFilter = new BlurMaskFilter(scale * 12.0f, BlurMaskFilter.Blur.OUTER);
    mThickOuterBlurMaskFilter = new BlurMaskFilter(scale * 6.0f, BlurMaskFilter.Blur.OUTER);
    mMediumOuterBlurMaskFilter = new BlurMaskFilter(scale * 2.0f, BlurMaskFilter.Blur.OUTER);
    mThinOuterBlurMaskFilter = new BlurMaskFilter(scale * 1.0f, BlurMaskFilter.Blur.OUTER);
    mExtraThickInnerBlurMaskFilter = new BlurMaskFilter(scale * 6.0f, BlurMaskFilter.Blur.NORMAL);
    mThickInnerBlurMaskFilter = new BlurMaskFilter(scale * 4.0f, BlurMaskFilter.Blur.NORMAL);
    mMediumInnerBlurMaskFilter = new BlurMaskFilter(scale * 2.0f, BlurMaskFilter.Blur.NORMAL);

    mHolographicPaint.setFilterBitmap(true);
    mHolographicPaint.setAntiAlias(true);
    mBlurPaint.setFilterBitmap(true);
    mBlurPaint.setAntiAlias(true);
    mErasePaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));
    mErasePaint.setFilterBitmap(true);
    mErasePaint.setAntiAlias(true);
}
 
源代码19 项目: TurboLauncher   文件: Utilities.java
private static void initStatics(Context context) {
    final Resources resources = context.getResources();
    final DisplayMetrics metrics = resources.getDisplayMetrics();
    final float density = metrics.density;

    sIconWidth = sIconHeight = (int) resources.getDimension(R.dimen.app_icon_size);
    sIconTextureWidth = sIconTextureHeight = sIconWidth;

    sBlurPaint.setMaskFilter(new BlurMaskFilter(5 * density, BlurMaskFilter.Blur.NORMAL));
    sGlowColorPressedPaint.setColor(0xffffc300);
    sGlowColorFocusedPaint.setColor(0xffff8e00);

    ColorMatrix cm = new ColorMatrix();
    cm.setSaturation(0.2f);
    sDisabledPaint.setColorFilter(new ColorMatrixColorFilter(cm));
    sDisabledPaint.setAlpha(0x88);
}
 
public MyViewWithTransparentArea(Context context) {
    super(context);

    overlayDefault = BitmapFactory.decodeResource(getResources(),R.drawable.dwarf);
    overlayDefault = Bitmap.createScaledBitmap(
            overlayDefault, 800, 800, false);
    overlay = BitmapFactory.decodeResource(getResources(),R.drawable.dwarf).copy(Bitmap.Config.ARGB_8888, true);
    c2 = new Canvas(overlay);

    pTouch = new Paint(Paint.ANTI_ALIAS_FLAG);
    pTouch.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OUT));
    pTouch.setColor(Color.TRANSPARENT);
    pTouch.setMaskFilter(new BlurMaskFilter(15, BlurMaskFilter.Blur.NORMAL));


}
 
源代码21 项目: rnd-android-wear-tesla   文件: RadialPicker.java
@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    int width = canvas.getWidth();
    float height = canvas.getHeight();

    int maxValueStepsCount = mMaxValue - mMinValue + 1;

    mValueStep = (height / maxValueStepsCount);

    mRadialPaint.setMaskFilter(new BlurMaskFilter(20, BlurMaskFilter.Blur.NORMAL));
    updatePaintColorByValue();

    canvas.drawCircle(width / 2,
            height * 0.65f,
            width / 3.5f + width * 0.38f * (((float) (mValue) - mMinValue) / (mMaxValue - mMinValue)),
            mRadialPaint);

    scaleSieveIfNeeded(width);
    Paint p2 = new Paint();
    p2.setAntiAlias(true);
    canvas.drawBitmap(mSieveScaledBitmap, 0, 0, p2);

}
 
源代码22 项目: android-tv-launcher   文件: ImageTools.java
/**
 *图片阴影
 * @param originalBitmap
 */
public static Drawable drawImageDropShadow(Bitmap originalBitmap, Context context) {

    BlurMaskFilter blurFilter = new BlurMaskFilter(3,BlurMaskFilter.Blur.NORMAL);
    Paint shadowPaint = new Paint();
    shadowPaint.setAlpha(80);
    shadowPaint.setColor(context.getResources().getColor(R.color.black));
    shadowPaint.setMaskFilter(blurFilter);
    int[] offsetXY = new int[2];
    Bitmap shadowBitmap = originalBitmap.extractAlpha(shadowPaint, offsetXY);
    Bitmap shadowImage32 = shadowBitmap.copy(Bitmap.Config.ARGB_8888, true);
    if ( !shadowImage32.isPremultiplied() )
    {
        shadowImage32.setPremultiplied( true );
    }
    Canvas c = new Canvas(shadowImage32);
    c.drawBitmap(originalBitmap, offsetXY[0], offsetXY[1], null);
    return new BitmapDrawable(shadowImage32);
}
 
源代码23 项目: LB-Launcher   文件: HolographicOutlineHelper.java
private HolographicOutlineHelper(Context context) {
    final float scale = LauncherAppState.getInstance().getScreenDensity();

    mMediumOuterBlurMaskFilter = new BlurMaskFilter(scale * 2.0f, BlurMaskFilter.Blur.OUTER);
    mThinOuterBlurMaskFilter = new BlurMaskFilter(scale * 1.0f, BlurMaskFilter.Blur.OUTER);
    mMediumInnerBlurMaskFilter = new BlurMaskFilter(scale * 2.0f, BlurMaskFilter.Blur.NORMAL);

    mShaowBlurMaskFilter = new BlurMaskFilter(scale * 4.0f, BlurMaskFilter.Blur.NORMAL);
    mShadowOffset = (int) (scale * 2.0f);
    shadowBitmapPadding = (int) (scale * 4.0f);

    mDrawPaint.setFilterBitmap(true);
    mDrawPaint.setAntiAlias(true);
    mBlurPaint.setFilterBitmap(true);
    mBlurPaint.setAntiAlias(true);
    mErasePaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));
    mErasePaint.setFilterBitmap(true);
    mErasePaint.setAntiAlias(true);
}
 
源代码24 项目: KAM   文件: IconCache.java
private static void initStatics(Context context) {
    final Resources resources = context.getResources();
    final DisplayMetrics metrics = resources.getDisplayMetrics();
    final float density = metrics.density;

    sIconWidth = sIconHeight = (int) resources.getDimension(android.R.dimen.app_icon_size);
    sIconTextureWidth = sIconTextureHeight = sIconWidth;
    sBlurPaint.setMaskFilter(new BlurMaskFilter(5 * density, BlurMaskFilter.Blur.NORMAL));
    sGlowColorPressedPaint.setColor(0xffffc300);
    sGlowColorFocusedPaint.setColor(0xffff8e00);

    ColorMatrix cm = new ColorMatrix();
    cm.setSaturation(0.2f);
    sDisabledPaint.setColorFilter(new ColorMatrixColorFilter(cm));
    sDisabledPaint.setAlpha(0x88);
}
 
源代码25 项目: Android-Next   文件: BitmapUtils.java
/**
 *  为指定图片增加阴影
 *
 * @param map     图片
 * @param radius  阴影的半径
 * @return
 */
public static Bitmap drawShadow(Bitmap map, int radius) {
    if (map == null)
        return null;

    BlurMaskFilter blurFilter = new BlurMaskFilter(radius, BlurMaskFilter.Blur.OUTER);
    Paint shadowPaint = new Paint();
    shadowPaint.setMaskFilter(blurFilter);

    int[] offsetXY = new int[2];
    Bitmap shadowImage = map.extractAlpha(shadowPaint, offsetXY);
    shadowImage = shadowImage.copy(Config.ARGB_8888, true);
    Canvas c = new Canvas(shadowImage);
    c.drawBitmap(map, -offsetXY[0], -offsetXY[1], null);
    return shadowImage;
}
 
源代码26 项目: okulus   文件: OkulusDrawable.java
@Override
protected void onBoundsChange(Rect bounds) {

    super.onBoundsChange(bounds);
    mRect.set(bounds);
    mShadowRect.set(mRect);
    mShadowRect.inset(mShadowSize, mShadowSize);

    if (mFullCircle) {
        mCornerRadius = Math.abs(mRect.left - mRect.right) / 2;
    }

    if (mBorderSize > 0) {
        initRectsWithBorders();
    } else {
        initRectsWithoutBorders();
    }
    if(mShadowSize > 0) {
        mShadowMaskFilter = new BlurMaskFilter(mShadowSize * 0.95F, BlurMaskFilter.Blur.SOLID);
    }
    updateShaderMatrix();
}
 
@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_blur_mask_filter);

  LinearLayout container = (LinearLayout) findViewById(R.id.container);
  for (BlurMaskFilter.Blur style : BlurMaskFilter.Blur.values()) {
    TextView textView = new TextView(this);
    textView.setTextAppearance(this, R.style.TextAppearance_Huge_Green);
    applyFilter(textView, style);

    LinearLayout.LayoutParams params =  new LinearLayout.LayoutParams(
        ViewGroup.LayoutParams.WRAP_CONTENT,
        ViewGroup.LayoutParams.WRAP_CONTENT);
    params.gravity = Gravity.CENTER;
    container.addView(textView, params);
  }
}
 
源代码28 项目: ZDepthShadow   文件: ShadowRect.java
@Override
public void setParameter(ZDepthParam param, int left, int top, int right, int bottom) {
    mRectTopShadow.left   = left;
    mRectTopShadow.top    = (int) (top    + param.mOffsetYTopShadowPx);
    mRectTopShadow.right  = right;
    mRectTopShadow.bottom = (int) (bottom + param.mOffsetYTopShadowPx);

    mRectBottomShadow.left   = left;
    mRectBottomShadow.top    = (int) (top    + param.mOffsetYBottomShadowPx);
    mRectBottomShadow.right  = right;
    mRectBottomShadow.bottom = (int) (bottom + param.mOffsetYBottomShadowPx);

    mTopShadow.getPaint().setColor(Color.argb(param.mAlphaTopShadow, 0, 0, 0));
    if (0 < param.mBlurTopShadowPx) {
        mTopShadow.getPaint().setMaskFilter(new BlurMaskFilter(param.mBlurTopShadowPx, BlurMaskFilter.Blur.NORMAL));
    } else {
        mTopShadow.getPaint().setMaskFilter(null);
    }

    mBottomShadow.getPaint().setColor(Color.argb(param.mAlphaBottomShadow, 0, 0, 0));
    if (0 < param.mBlurBottomShadowPx) {
        mBottomShadow.getPaint().setMaskFilter(new BlurMaskFilter(param.mBlurBottomShadowPx, BlurMaskFilter.Blur.NORMAL));
    } else {
        mBottomShadow.getPaint().setMaskFilter(null);
    }
}
 
源代码29 项目: android_9.0.0_r45   文件: StackView.java
HolographicHelper(Context context) {
    mDensity = context.getResources().getDisplayMetrics().density;

    mHolographicPaint.setFilterBitmap(true);
    mHolographicPaint.setMaskFilter(TableMaskFilter.CreateClipTable(0, 30));
    mErasePaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));
    mErasePaint.setFilterBitmap(true);

    mSmallBlurMaskFilter = new BlurMaskFilter(2 * mDensity, BlurMaskFilter.Blur.NORMAL);
    mLargeBlurMaskFilter = new BlurMaskFilter(4 * mDensity, BlurMaskFilter.Blur.NORMAL);
}
 
源代码30 项目: NoviceGuide   文件: NoviceGuide.java
private void initPint() {
    paint = new Paint();
    paint.setColor(Color.TRANSPARENT);
    PorterDuff.Mode mode = PorterDuff.Mode.CLEAR;
    porterDuffXfermode = new PorterDuffXfermode(mode);
    paint.setXfermode(porterDuffXfermode);
    //设置画笔遮罩滤镜,可以传入BlurMaskFilter或EmbossMaskFilter,前者为模糊遮罩滤镜而后者为浮雕遮罩滤镜
    //这个方法已经被标注为过时的方法了,如果你的应用启用了硬件加速,你是看不到任何阴影效果的
    paint.setMaskFilter(new BlurMaskFilter(10, BlurMaskFilter.Blur.INNER));
    //关闭当前view的硬件加速
    setLayerType(LAYER_TYPE_SOFTWARE, null);
}
 
 类所在包
 类方法
 同包方法