private void init() {
Log.i(Tag, "init");
mLineWidth = changeDp(1);
mLineHeight = changeDp(3);
mFixLineHeight = changeDp(6);
mSunRadius = changeDp(12);
mLineColor = Color.RED;
mLineLevel = 30;
//线的配置
mLinePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mLinePaint.setColor(mLineColor);
mLinePaint.setStyle(Paint.Style.FILL_AND_STROKE);
// 设置画笔宽度
mLinePaint.setStrokeWidth(mLineWidth);
mDrawFilter = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG
| Paint.FILTER_BITMAP_FLAG);
debugRect = new Rect();
mouthRect = new RectF();
}
java类android.graphics.PaintFlagsDrawFilter的实例源码
SunLineView.java 文件源码
项目:stynico
阅读 24
收藏 0
点赞 0
评论 0
BuildLayerFrameLayout.java 文件源码
项目:MyLife
阅读 18
收藏 0
点赞 0
评论 0
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
if (mChanged && Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
post(new Runnable() {
@Override
public void run() {
if (mAttached && Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
final int layerType = getLayerType();
// If it's already a hardware layer, it'll be built anyway.
if (layerType != LAYER_TYPE_HARDWARE || mFirst) {
mFirst = false;
setLayerType(LAYER_TYPE_HARDWARE, null);
buildLayer();
setLayerType(LAYER_TYPE_NONE, null);
}
}
}
});
mChanged = false;
}
PaintFlagsDrawFilter pfd = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint
.FILTER_BITMAP_FLAG);
canvas.setDrawFilter(pfd);
}
ImageHelper.java 文件源码
项目:MDWechat
阅读 22
收藏 0
点赞 0
评论 0
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap
.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(output);
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
final float roundPx = pixels;
paint.setAntiAlias(true);
paint.setDither(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
BuildLayerFrameLayout.java 文件源码
项目:Cybernet-VPN
阅读 20
收藏 0
点赞 0
评论 0
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
if (mChanged && Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
post(new Runnable() {
@Override
public void run() {
if (mAttached && Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
final int layerType = getLayerType();
// If it's already a hardware layer, it'll be built anyway.
if (layerType != LAYER_TYPE_HARDWARE || mFirst) {
mFirst = false;
setLayerType(LAYER_TYPE_HARDWARE, null);
buildLayer();
setLayerType(LAYER_TYPE_NONE, null);
}
}
}
});
mChanged = false;
}
PaintFlagsDrawFilter pfd = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint
.FILTER_BITMAP_FLAG);
canvas.setDrawFilter(pfd);
}
ViewfinderView.java 文件源码
项目:letv
阅读 34
收藏 0
点赞 0
评论 0
public void onDraw(Canvas canvas) {
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, 3));
int W = canvas.getWidth();
int H = canvas.getHeight();
Rect frame = CameraManager.get().getFramingRect();
if (frame != null) {
drawCover(canvas, frame, W, H);
if (this.resultBitmap != null) {
canvas.drawBitmap(this.resultBitmap, (float) frame.left, (float) frame.top, this.paint);
return;
}
drawScanningLine(canvas, frame);
drawRectEdge(canvas, frame);
this.paint.reset();
postInvalidateDelayed(ANIMATION_DELAY);
}
}
RoundImageView.java 文件源码
项目:CardSwipeLayout
阅读 30
收藏 0
点赞 0
评论 0
public RoundImageView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.RoundImageView);
float mRadius = array.getDimension(R.styleable.RoundImageView_radius, 10);
rids[0] = mRadius;
rids[1] = mRadius;
rids[2] = mRadius;
rids[3] = mRadius;
rids[4] = 0f;
rids[5] = 0f;
rids[6] = 0f;
rids[7] = 0f;
array.recycle();
mPath = new Path();
paintFlagsDrawFilter = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);
setLayerType(View.LAYER_TYPE_HARDWARE, null);
}
ClearEditText.java 文件源码
项目:login
阅读 33
收藏 0
点赞 0
评论 0
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));
if (mAnimator_visible.isRunning()) {
int x = (int) mAnimator_visible.getAnimatedValue();
drawClear(x, canvas);
invalidate();
} else if (isVisible) {
drawClear(0, canvas);
}
if (mAnimator_gone.isRunning()) {
float scale = (float) mAnimator_gone.getAnimatedValue();
drawClearGone(scale, canvas);
invalidate();
}
}
SunLineView.java 文件源码
项目:SprintNBA
阅读 27
收藏 0
点赞 0
评论 0
private void init() {
Log.i(Tag, "init");
mLineWidth = changeDp(1);
mLineHeight = changeDp(3);
mFixLineHeight = changeDp(6);
mSunRadius = changeDp(12);
mLineColor = Color.RED;
mLineLevel = 30;
//线的配置
mLinePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mLinePaint.setColor(mLineColor);
mLinePaint.setStyle(Paint.Style.FILL_AND_STROKE);
// 设置画笔宽度
mLinePaint.setStrokeWidth(mLineWidth);
mDrawFilter = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG
| Paint.FILTER_BITMAP_FLAG);
debugRect = new Rect();
mouthRect = new RectF();
}
BottomItemView.java 文件源码
项目:BigApp_Discuz_Android
阅读 25
收藏 0
点赞 0
评论 0
private void drawTargetBitmap(Canvas canvas,int alpha) {
// mCanvas =canvas;
mPaint = new Paint();
mPaint.setColor(mSelectedColor);
mPaint.setAntiAlias(true);
mPaint.setDither(true);
mPaint.setAlpha(alpha);
mCanvas.drawRect(mIconRect, mPaint);
mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
mPaint.setAlpha(255);
mCanvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));
if (mIconBitmapSelected != null)
mCanvas.drawBitmap(mIconBitmapSelected, mIconRect.left, mIconRect.top, mPaint);
else
mCanvas.drawBitmap(mIconBitmapNormal, mIconRect.left, mIconRect.top, mPaint);
canvas.drawBitmap(mBitmap, 0, 0, null);
}
CircleView.java 文件源码
项目:PullRefreshLayout
阅读 24
收藏 0
点赞 0
评论 0
private void init() {
mStrokeWidth = AppUtil.dip2px(2);
mPaint = new Paint();
mPaint.setColor(0xFF0000FF);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeWidth(mStrokeWidth);
mPaint.setAntiAlias(true);
mPaint.setDither(false);
mBGPaint = new Paint();
mBGPaint.setColor(0xFFAAAAAA);
mBGPaint.setStyle(Paint.Style.STROKE);
mBGPaint.setStrokeWidth(mStrokeWidth);
mBGPaint.setAntiAlias(true);
mBGPaint.setDither(false);
mDegree = 0;
pfd = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG);
}
CircleImageView.java 文件源码
项目:collapselrecycler
阅读 24
收藏 0
点赞 0
评论 0
/**
* drawable转bitmap
*处理不同情况下的图片显示
* @param drawable
* @return
*/
private Bitmap drawable2Bitmap(Drawable drawable) {
int w = drawable.getIntrinsicWidth();
int h = drawable.getIntrinsicHeight();
Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));
drawable.setBounds(0, 0, w, h);
if ((w >= h) && CropType.centerTop.equals(cropType)) {
canvas.translate((h - w) * 0.5F, 0);
} else if ((w >= h) && CropType.center.equals(cropType)) {
canvas.translate((h - w) * 0.5F, 0);
} else if ((w < h) && CropType.center.equals(cropType)) {
canvas.translate(0, (w - h) * 0.5F);
}
drawable.draw(canvas);
return bitmap;
}
SunLineView.java 文件源码
项目:BitkyShop
阅读 35
收藏 0
点赞 0
评论 0
private void init() {
Log.i(Tag, "init");
mLineWidth = changeDp(1);
mLineHeight = changeDp(3);
mFixLineHeight = changeDp(6);
mSunRadius = changeDp(12);
mLineColor = Color.RED;
mLineLevel = 30;
//线的配置
mLinePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mLinePaint.setColor(mLineColor);
mLinePaint.setStyle(Paint.Style.FILL_AND_STROKE);
// 设置画笔宽度
mLinePaint.setStrokeWidth(mLineWidth);
mDrawFilter = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG
| Paint.FILTER_BITMAP_FLAG);
debugRect = new Rect();
mouthRect = new RectF();
}
BuildLayerFrameLayout.java 文件源码
项目:FlowingDrawer
阅读 29
收藏 0
点赞 0
评论 0
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
if (mChanged && Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
post(new Runnable() {
@Override
public void run() {
if (mAttached && Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
final int layerType = getLayerType();
// If it's already a hardware layer, it'll be built anyway.
if (layerType != LAYER_TYPE_HARDWARE || mFirst) {
mFirst = false;
setLayerType(LAYER_TYPE_HARDWARE, null);
buildLayer();
setLayerType(LAYER_TYPE_NONE, null);
}
}
}
});
mChanged = false;
}
PaintFlagsDrawFilter pfd = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint
.FILTER_BITMAP_FLAG);
canvas.setDrawFilter(pfd);
}
MainActivity.java 文件源码
项目:test4XXX
阅读 18
收藏 0
点赞 0
评论 0
private void drawCircles(Canvas canvas) {
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG
| Paint.FILTER_BITMAP_FLAG));
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(0xffffffff);
RectF r = new RectF(0, 0, canvas.getWidth(), canvas.getHeight());
canvas.drawRect(r, paint);
for (int i = radiusArray.length - 1; i >= 0; i--) {
if (radiusArray[i] >= baseRadius) {
paint.setColor(getColor(radiusArray[i]));
canvas.drawCircle(canvas.getWidth() / 2,
canvas.getHeight() / 2, radiusArray[i], paint);
}
}
paint.setColor(Color.argb(255, 0xfe, 0xaa, 0x4b));
canvas.drawCircle(canvas.getWidth() / 2, canvas.getHeight() / 2,
baseRadius, paint);
}
RoseBoxSeekBarView.java 文件源码
项目:Gizwits-AirPurifier_Android
阅读 21
收藏 0
点赞 0
评论 0
/**
* @param context
* @param attrs
* @param defStyle
*/
public RoseBoxSeekBarView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
this.mContext = context;
mResources = context.getApplicationContext().getResources();
drawFilter = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG
| Paint.FILTER_BITMAP_FLAG);
int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
int cacheSize = maxMemory / 8;
mMemoryCache = new LruCache<String, Bitmap>(cacheSize) {
@Override
protected int sizeOf(String key, Bitmap bitmap) {
// 重写此方法来衡量每张图片的大小,默认返回图片数量。
return bitmap.getByteCount() / 1024;
}
};
// typeface = Typeface.createFromAsset(getContext().getAssets(),
// "fonts/HELVETICANEUELTSTD-THEX.OTF");
}
ClearEditText.java 文件源码
项目:AndroidUI
阅读 27
收藏 0
点赞 0
评论 0
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));//抗锯齿
if (mAnimator_visible.isRunning()) {
int x = (int) mAnimator_visible.getAnimatedValue();
drawClear(x,canvas);
invalidate();
}else if (isVisible){
drawClear(0,canvas);
}
if(mAnimator_gone.isRunning()){
float scale = (float) mAnimator_gone.getAnimatedValue();
drawClearGone(scale, canvas);
invalidate();
}
}
LinePieChart.java 文件源码
项目:MiBandDecompiled
阅读 23
收藏 0
点赞 0
评论 0
protected void onRectChanged(RectF rectf)
{
super.onRectChanged(rectf);
o = new RectF();
o.left = rectf.centerX() - 15.5F * mDensity;
o.top = rectf.top + 2.0F * mDensity;
o.right = o.left + 31F * mDensity;
o.bottom = o.top + 31F * mDensity;
p = Bitmap.createBitmap((int)rectf.width(), (int)rectf.height(), android.graphics.Bitmap.Config.ARGB_8888);
r = false;
if (q == null)
{
q = new Canvas();
q.setDrawFilter(new PaintFlagsDrawFilter(0, 7));
}
q.setBitmap(p);
}
LineView.java 文件源码
项目:test4android
阅读 23
收藏 0
点赞 0
评论 0
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
mPaint.setColor(Color.RED);
mPaint.setAntiAlias(true);
for (int index = 0; index < mListPoint.size(); index++)
{
if (index > 0)
{
canvas.drawLine(mListPoint.get(index - 1).get(X_KEY), mListPoint.get(index - 1)
.get(Y_KEY),
mListPoint.get(index).get(X_KEY), mListPoint.get(index).get(Y_KEY), mPaint);
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG
| Paint.FILTER_BITMAP_FLAG));
}
}
}
FlatButton.java 文件源码
项目:MaterialButton
阅读 26
收藏 0
点赞 0
评论 0
protected void init() {
bgPaint = new Paint();
bgPaint.setAntiAlias(true);
bgPaint.setColor(backgroundColor);
focusPaint = new Paint();
focusPaint.setAntiAlias(true);
focusPaint.setColor(focusColor);
animatorSet = new AnimatorSet();
bgRectF = new RectF();
mDrawFilter = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);
this.setBackgroundResource(0);
}
FloatingActionButton.java 文件源码
项目:MaterialButton
阅读 31
收藏 0
点赞 0
评论 0
private void init() {
defaultPaint = new Paint();
defaultPaint.setAntiAlias(true);
defaultPaint.setColor(defaultBgColor);
focusPaint = new Paint();
focusPaint.setAntiAlias(true);
focusPaint.setColor(focusBgcolor);
icon = BitmapFactory.decodeResource(getResources(), R.drawable.ic_action_new);
getIconParams();
mDrawFilter = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);
this.setBackgroundResource(0);
}
SunLineView.java 文件源码
项目:SinaWeibo_Android
阅读 24
收藏 0
点赞 0
评论 0
private void init() {
Log.i(Tag, "init");
mLineWidth = changeDp(1);
mLineHeight = changeDp(3);
mFixLineHeight = changeDp(6);
mSunRadius = changeDp(12);
mLineColor = Color.RED;
mLineLevel = 30;
//线的配置
mLinePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mLinePaint.setColor(mLineColor);
mLinePaint.setStyle(Paint.Style.FILL_AND_STROKE);
// 设置画笔宽度
mLinePaint.setStrokeWidth(mLineWidth);
mDrawFilter = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG
| Paint.FILTER_BITMAP_FLAG);
debugRect = new Rect();
mouthRect = new RectF();
}
ControllerWheel.java 文件源码
项目:SmartMeterWithUI
阅读 19
收藏 0
点赞 0
评论 0
@SuppressLint("DrawAllocation")
@Override
protected void onDraw(final Canvas canvas) {
Log.d("SMTest onDraw()", "");
// canvas 抗锯齿
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG
| Paint.FILTER_BITMAP_FLAG));
drawBG(canvas);
if (NeedleShow) {
drawNeedle(canvas);
}
drawFG(canvas);
drawUnit(canvas);
// drawUnitLine(canvas);
// drawMyRect(canvas);
}
DrawerLayout.java 文件源码
项目:FlowingSidebarMenu--Android
阅读 26
收藏 0
点赞 0
评论 0
@Override
protected void dispatchDraw(@NonNull Canvas canvas) {
PaintFlagsDrawFilter pfd = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint
.FILTER_BITMAP_FLAG);
canvas.setDrawFilter(pfd);
final int count = getChildCount();
for (int i = 0; i < count; i++) {
final View child = getChildAt(i);
if (child == null)
return;
}
super.dispatchDraw(canvas);
}
PaintView.java 文件源码
项目:CXJPadProject
阅读 24
收藏 0
点赞 0
评论 0
/***
* 初始化
*/
private void init() {
//关闭硬件加速
//否则橡皮擦模式下,设置的 PorterDuff.Mode.CLEAR ,实时绘制的轨迹是黑色
setBackgroundColor(Color.WHITE);//设置白色背景
setLayerType(View.LAYER_TYPE_SOFTWARE, null);
//画笔
mPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DITHER_FLAG);
mPaint.setStrokeWidth(4f);
mPaint.setAntiAlias(true);
mPaint.setColor(Color.BLACK);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeJoin(Paint.Join.ROUND);//使画笔更加圆润
mPaint.setStrokeCap(Paint.Cap.ROUND);//同上
mBitmapPaint = new Paint(Paint.DITHER_FLAG);
//保存签名的画布
post(new Runnable() {//拿到控件的宽和高
@Override
public void run() {
//获取PaintView的宽和高
//由于橡皮擦使用的是 Color.TRANSPARENT ,不能使用RGB-565
mBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_4444);
mCanvas = new Canvas(mBitmap);
//抗锯齿
mCanvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));
//背景色
mCanvas.drawColor(Color.WHITE);
}
});
undoList = new LinkedList<>();
redoList = new LinkedList<>();
}
BooheeRulerView.java 文件源码
项目:boohee_v5.6
阅读 24
收藏 0
点赞 0
评论 0
private void initPaint() {
this.pfdf = new PaintFlagsDrawFilter(0, 3);
this.bgPaint = new Paint();
this.bgPaint.setColor(this.bgColor);
this.indicatorPaint = new Paint();
this.indicatorPaint.setColor(this.indicatorColor);
this.textPaint = new Paint();
this.textPaint.setColor(this.textColor);
this.textPaint.setTextSize(this.textSize);
this.linePaint = new Paint();
this.linePaint.setColor(this.lineColor);
this.path = new Path();
}
ShadeTriangleTotalForRankView.java 文件源码
项目:Mask-Animation
阅读 20
收藏 0
点赞 0
评论 0
private void init(Context context, AttributeSet attrs, int defStyle) {
TypedArray type = context.obtainStyledAttributes(attrs, R.styleable.ShadeTriangleTotalForRankView, 0, 0);
duration = (long) type.getFloat(R.styleable.ShadeTriangleTotalForRankView_shade_duration, 18000f);
mImageSource_total = type.getResourceId(R.styleable.ShadeTriangleTotalForRankView_image_total, R.drawable.mask_triangle_total);
mTotal_bitmap = readBitMap(context, mImageSource_total);
mPaint_Mask.setStyle(Paint.Style.FILL);
mPaint_Mask.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
mPaint_Pic.setFilterBitmap(true);
pfd = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);
src = new Rect();
dst = new Rect();
path = new Path();
}
BrushDrawable.java 文件源码
项目:libcommon
阅读 29
收藏 0
点赞 0
评论 0
public BrushDrawable(final int type, final int width, final int height, final int clearflags, final int setFlags) {
super();
mPaint = new Paint();
mDrawFilter = new PaintFlagsDrawFilter(clearflags, setFlags);
mClearXfermode = new PorterDuffXfermode(PorterDuff.Mode.CLEAR);
init(100, 100);
setType(type, width, height);
}
RxSwipeCaptcha.java 文件源码
项目:RxTools
阅读 22
收藏 0
点赞 0
评论 0
private Bitmap getMaskBitmap(Bitmap mBitmap, Path mask) {
//以控件宽高 create一块bitmap
Bitmap tempBitmap = Bitmap.createBitmap(mWidth, mHeight, Bitmap.Config.ARGB_8888);
Log.e(TAG, " getMaskBitmap: width:" + mBitmap.getWidth() + ", height:" + mBitmap.getHeight());
Log.e(TAG, " View: width:" + mWidth + ", height:" + mHeight);
//把创建的bitmap作为画板
Canvas mCanvas = new Canvas(tempBitmap);
//有锯齿 且无法解决,所以换成XFermode的方法做
//mCanvas.clipPath(mask);
// 抗锯齿
mCanvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));
//绘制用于遮罩的圆形
mCanvas.drawPath(mask, mMaskPaint);
//设置遮罩模式(图像混合模式)
mMaskPaint.setXfermode(mPorterDuffXfermode);
// mMaskPaint.setShadowLayer(5, 3, 3, 0xFF0000FF);
// 设置光源的方向
float[] direction = new float[]{ 1, 1, 1 };
//设置环境光亮度
float light = 1f;
// 选择要应用的反射等级
float specular = 6;
// 向mask应用一定级别的模糊
float blur = 3.5f;
// EmbossMaskFilter emboss=new EmbossMaskFilter(direction,light,specular,blur);
BlurMaskFilter maskFilter = new BlurMaskFilter(10, BlurMaskFilter.Blur.SOLID);
// 应用mask
mMaskPaint.setMaskFilter(maskFilter);
//★考虑到scaleType等因素,要用Matrix对Bitmap进行缩放
mCanvas.drawBitmap(mBitmap, getImageMatrix(), mMaskPaint);
mMaskPaint.setXfermode(null);
return tempBitmap;
}
KLineView.java 文件源码
项目:BigApp_Discuz_Android
阅读 22
收藏 0
点赞 0
评论 0
/**
* 创建裁剪的背景图片
*
* @param paint
* @param path
* @param bitmap
* @return
*/
private Bitmap creatBitmap(Paint paint, Path path, Bitmap bitmap) {
Canvas newCanvas = new Canvas(bitmap);
newCanvas.setDrawFilter(new PaintFlagsDrawFilter(0,
Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));
newCanvas.clipPath(path, Region.Op.INTERSECT);
newCanvas.drawBitmap(mGradientLine, 0, 0, paint);
return bitmap;
}
EnergyCurveView.java 文件源码
项目:BigApp_Discuz_Android
阅读 21
收藏 0
点赞 0
评论 0
/**
* 创建裁剪的背景图片
*
* @param paint
* @param path
* @param bitmap
* @return
*/
private Bitmap creatBitmap(Paint paint, Path path, Bitmap bitmap) {
Canvas newCanvas = new Canvas(bitmap);
newCanvas.setDrawFilter(new PaintFlagsDrawFilter(0,
Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));
newCanvas.clipPath(path, Region.Op.INTERSECT);
newCanvas.drawBitmap(mGradientLine, 0, 0, paint);
return bitmap;
}