项目:andcouchbaseentity
文件:RoundImageView.java
@Override
protected void onDraw(Canvas canvas) {
Drawable drawable = getDrawable();
if (drawable instanceof BitmapDrawable) {
RectF rectF = new RectF(drawable.getBounds());
int restoreCount = canvas.saveLayer(rectF,null,Canvas.ALL_SAVE_FLAG);
getimageMatrix().mapRect(rectF);
Paint paint = ((BitmapDrawable) drawable).getPaint();
paint.setAntiAlias(true);
paint.setColor(0xff000000);
canvas.drawARGB(0,0);
canvas.drawRoundRect(rectF,RADIUS,paint);
Xfermode restoreMode = paint.getXfermode();
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
super.onDraw(canvas);
// Restore paint and canvas
paint.setXfermode(restoreMode);
canvas.restoretoCount(restoreCount);
} else {
super.onDraw(canvas);
}
}
项目:android-ui-demos
文件:XferModeTestView.java
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//创建一个图层,在图层上演示图形混合后的效果
int sc = canvas.saveLayer(null,mPaint,ALL_SAVE_FLAG);
canvas.translate(mWidth / 2,mHeight / 2);
int radius = Math.min(mWidth,mHeight) / 6;
mPaint.setColor(0xFFFEC336);
canvas.drawCircle(0,radius,mPaint);
Xfermode oldMode = mPaint.getXfermode();
if (mXfermode != null) {
mPaint.setXfermode(mXfermode);
}
int size = Math.min(mWidth,mHeight) / 4;
mPaint.setColor(0xFF5596FF);
canvas.drawRect(0,size,mPaint);
mPaint.setXfermode(oldMode);
canvas.restoretoCount(sc);
}
项目:KTA-Editor
文件:GraphicsUtil.java
public Bitmap getCircleBitmap(Bitmap bitmap,int n) {
Bitmap bitmap2 = Bitmap.createBitmap((int)bitmap.getWidth(),(int)bitmap.getHeight(),(Bitmap.Config)Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap2);
Paint paint = new Paint();
Rect rect = new Rect(0,bitmap.getWidth(),bitmap.getHeight());
RectF rectF = new RectF(rect);
paint.setAntiAlias(true);
paint.setDither(true);
paint.setFilterBitmap(true);
canvas.drawARGB(0,0);
paint.setColor(-65536);
canvas.drawoval(rectF,paint);
paint.setColor(-16776961);
paint.setStyle(Paint.Style.stroke);
paint.setstrokeWidth(4.0f);
paint.setXfermode((Xfermode)new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap,rect,paint);
return bitmap2;
}
/**
* 画进度内环
*
* @param int template 温度
* */
private void drawProgressCircle(Canvas canvas) {
int sc = canvas.saveLayer(0,width,height,Canvas.MATRIX_SAVE_FLAG | Canvas.CLIP_SAVE_FLAG
| Canvas.HAS_ALPHA_LAYER_SAVE_FLAG
| Canvas.FULL_COLOR_LAYER_SAVE_FLAG
| Canvas.CLIP_TO_LAYER_SAVE_FLAG);
canvas.drawBitmap(CircleBg3,RectfCircle,circlPaint);
Xfermode xfermode = new PorterDuffXfermode(PorterDuff.Mode.CLEAR);
Paint circlePaint2 = new Paint();
circlePaint2.setAntiAlias(true);
circlePaint2.setXfermode(xfermode);
canvas.drawArc(RectfCircle,startAngle + angle,360 - angle,true,circlePaint2);
circlePaint2.setXfermode(null);
canvas.restoretoCount(sc);
}
项目:videoMerge
文件:BitmapManager.java
private Bitmap MaskBitmap(Bitmap bitmap,Bitmap mask,int size,Xfermode mode) {
if (null == bitmap || mask == null) {
return null;
}
//定义期望大小的bitmap
Bitmap dstBmp = Bitmap.createBitmap(size,Config.ARGB_8888);
//定义一个画布
Canvas canvas = new Canvas(dstBmp);
//创建一个取消锯齿画笔
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
//定义需要绘制的某图片上的那一部分矩形空间
Rect src = new Rect(0,mask.getWidth(),mask.getHeight());
//定义需要将上面的矩形绘制成新的矩形大小
Rect dst = new Rect(0,size);
//将蒙版图片绘制成imageview本身的大小,这样从大小才会和UE标注的一样大
canvas.drawBitmap(mask,src,dst,paint);
//设置两张图片的相交模式
//至于这个函数介绍参考网址:http://blog.csdn.net/wm111/article/details/7299294
paint.setXfermode(mode);
//将src修改为需要添加mask的bitmap大小,因为是要将此bitmap整个添加上蒙版
src.right = bitmap.getWidth();
src.bottom = bitmap.getHeight();
//在已经绘制的mask上叠加bitmap
canvas.drawBitmap(bitmap,paint);
return dstBmp;
}
项目:videoMerge
文件:FrameView.java
private Bitmap MaskBitmap(Bitmap bitmap,Xfermode mode) {
if (null == bitmap || mask == null) {
return null;
}
Bitmap dstBmp = Bitmap.createBitmap(size,Config.ARGB_8888);
Canvas canvas = new Canvas(dstBmp);
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
Rect src = new Rect(0,mask.getHeight());
Rect dst = new Rect(0,size);
canvas.drawBitmap(mask,paint);
paint.setXfermode(mode);
src.right = bitmap.getWidth();
src.bottom = bitmap.getHeight();
canvas.drawBitmap(bitmap,paint);
return dstBmp;
}
项目:Tribe
文件:HoverImageView.java
@Override
protected void onDraw(Canvas canvas) {
Drawable maiDrawable = getDrawable();
if (!isInEditMode() && maiDrawable instanceof BitmapDrawable) {
Paint paint = ((BitmapDrawable) maiDrawable).getPaint();
Rect bitmapBounds = maiDrawable.getBounds();
rect.set(bitmapBounds);
int saveCount = canvas.saveLayer(rect,Canvas.MATRIX_SAVE_FLAG |
Canvas.CLIP_SAVE_FLAG |
Canvas.HAS_ALPHA_LAYER_SAVE_FLAG |
Canvas.FULL_COLOR_LAYER_SAVE_FLAG |
Canvas.CLIP_TO_LAYER_SAVE_FLAG);
getimageMatrix().mapRect(rect);
paint.setAntiAlias(true);
canvas.drawARGB(0,0);
final int color = 0xffffffff;
paint.setColor(color);
canvas.drawPath(boundpath,paint);
Xfermode oldMode = paint.getXfermode();
paint.setXfermode(duffMode);
super.onDraw(canvas);
paint.setXfermode(oldMode);
canvas.restoretoCount(saveCount);
drawHover(canvas);
drawBorder(canvas);
} else {
super.onDraw(canvas);
}
}
项目:SelectName
文件:MaskedImage.java
protected void onDraw(Canvas paramCanvas) {
Drawable localDrawable = getDrawable();
if (localDrawable == null)
return;
try {
if (this.paint == null) {
Paint localPaint1 = new Paint();
this.paint = localPaint1;
this.paint.setFilterBitmap(false);
Paint localPaint2 = this.paint;
Xfermode localXfermode1 = MASK_XFERMODE;
@SuppressWarnings("unused")
Xfermode localXfermode2 = localPaint2.setXfermode(localXfermode1);
}
float f1 = getWidth();
float f2 = getHeight();
int i = paramCanvas.saveLayer(0.0F,0.0F,f1,f2,31);
int j = getWidth();
int k = getHeight();
localDrawable.setBounds(0,j,k);
localDrawable.draw(paramCanvas);
if ((this.mask == null) || (this.mask.isRecycled())) {
Bitmap localBitmap1 = createMask();
this.mask = localBitmap1;
}
Bitmap localBitmap2 = this.mask;
Paint localPaint3;
localPaint3 = this.paint;
paramCanvas.drawBitmap(localBitmap2,localPaint3);
paramCanvas.restoretoCount(i);
return;
} catch (Exception localException) {
StringBuilder localStringBuilder = new StringBuilder()
.append("Attempting to draw with recycled bitmap. View ID = ");
System.out.println("localStringBuilder==" + localStringBuilder);
}
}
public void draw(XulDC dc,int x1,int y1,int w1,int h1,float x2,float y2,float w2,float h2,Paint p) {
dc.save();
Xfermode xfermode = p.setXfermode(_colorKeyXferMode);
if (_xulDrawable == null) {
_xulDrawable = XulDrawable.fromBitmap(_frameImage,"","");
}
dc.drawBitmap(_xulDrawable,x1,y1,w1,h1,x2,y2,w2,h2,p);
p.setXfermode(xfermode);
dc.restore();
}
public void draw(Canvas canvas,Paint p) {
if (!_isCurrentFrameDecoded) {
decodeFrame();
}
canvas.save();
Xfermode xfermode = p.setXfermode(_colorKeyXferMode);
XulDC.drawBitmap(canvas,_frameImage,p);
p.setXfermode(xfermode);
canvas.restore();
}
项目:tinkerDemo
文件:MaskedImage.java
protected void onDraw(Canvas paramCanvas) {
Drawable localDrawable = getDrawable();
if (localDrawable == null)
return;
try {
if (this.paint == null) {
Paint localPaint1 = new Paint();
this.paint = localPaint1;
this.paint.setFilterBitmap(false);
Paint localPaint2 = this.paint;
Xfermode localXfermode1 = MASK_XFERMODE;
@SuppressWarnings("unused")
Xfermode localXfermode2 = localPaint2.setXfermode(localXfermode1);
}
float f1 = getWidth();
float f2 = getHeight();
int i = paramCanvas.saveLayer(0.0F,localPaint3);
paramCanvas.restoretoCount(i);
return;
} catch (Exception localException) {
StringBuilder localStringBuilder = new StringBuilder()
.append("Attempting to draw with recycled bitmap. View ID = ");
System.out.println("localStringBuilder==" + localStringBuilder);
}
}
项目:monolog-android
文件:MaskedImageView.java
protected void onDraw(Canvas paramCanvas) {
Drawable localDrawable = getDrawable();
if (localDrawable == null)
return;
try {
if (this.paint == null) {
Paint localPaint1 = new Paint();
this.paint = localPaint1;
this.paint.setFilterBitmap(false);
Paint localPaint2 = this.paint;
Xfermode localXfermode1 = MASK_XFERMODE;
@SuppressWarnings("unused")
Xfermode localXfermode2 = localPaint2.setXfermode(localXfermode1);
}
float f1 = getWidth();
float f2 = getHeight();
int i = paramCanvas.saveLayer(0.0F,k);
localDrawable.draw(paramCanvas);
if ((this.mask == null) || (this.mask.isRecycled())) {
Bitmap localBitmap1 = createMask();
this.mask = localBitmap1;
}
Bitmap localBitmap2 = this.mask;
Paint localPaint3 = this.paint;
paramCanvas.drawBitmap(localBitmap2,localPaint3);
paramCanvas.restoretoCount(i);
return;
} catch (Exception localException) {
StringBuilder localStringBuilder = new StringBuilder()
.append("Attempting to draw with recycled bitmap. View ID = ");
System.out.println("localStringBuilder=="+localStringBuilder);
}
}
项目:BlurKit-Android
文件:RoundedImageView.java
@Override
protected void onDraw(Canvas canvas) {
Drawable myDrawable = getDrawable();
if (myDrawable!=null && myDrawable instanceof BitmapDrawable && mCornerRadius > 0) {
Paint paint = ((BitmapDrawable) myDrawable).getPaint();
final int color = 0xff000000;
Rect bitmapBounds = myDrawable.getBounds();
final RectF rectF = new RectF(bitmapBounds);
int saveCount = canvas.saveLayer(rectF,Canvas.MATRIX_SAVE_FLAG |
Canvas.CLIP_SAVE_FLAG |
Canvas.HAS_ALPHA_LAYER_SAVE_FLAG |
Canvas.FULL_COLOR_LAYER_SAVE_FLAG |
Canvas.CLIP_TO_LAYER_SAVE_FLAG);
getimageMatrix().mapRect(rectF);
paint.setAntiAlias(true);
canvas.drawARGB(0,0);
paint.setColor(color);
canvas.drawRoundRect(rectF,mCornerRadius,paint);
Xfermode oldMode = paint.getXfermode();
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
super.onDraw(canvas);
paint.setXfermode(oldMode);
canvas.restoretoCount(saveCount);
} else {
super.onDraw(canvas);
}
}
项目:Gestures-Lock
文件:NLockView.java
private void clearCanvas(Canvas canvas,Point p) {
// 将点下面的线清除(前提是父容器必须有设置背景)
Xfermode xfermode = mPaint.getXfermode();
int color = mPaint.getColor();
mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
mPaint.setColor(Color.TRANSPARENT);
canvas.drawCircle(p.x,p.y,mRadius,mPaint);
mPaint.setXfermode(xfermode);
mPaint.setColor(color);
}
项目:common-layout-android
文件:MaskedImageView.java
protected void onDraw(Canvas paramCanvas) {
Drawable localDrawable = getDrawable();
if (localDrawable == null)
return;
try {
if (this.paint == null) {
Paint localPaint1 = new Paint();
this.paint = localPaint1;
this.paint.setFilterBitmap(false);
Paint localPaint2 = this.paint;
Xfermode localXfermode1 = MASK_XFERMODE;
@SuppressWarnings("unused")
Xfermode localXfermode2 = localPaint2.setXfermode(localXfermode1);
}
float f1 = getWidth();
float f2 = getHeight();
int i = paramCanvas.saveLayer(0.0F,Canvas.ALL_SAVE_FLAG);
int j = getWidth();
int k = getHeight();
localDrawable.setBounds(0,localPaint3);
paramCanvas.restoretoCount(i);
return;
} catch (Exception localException) {
StringBuilder localStringBuilder = new StringBuilder()
.append("Attempting to draw with recycled bitmap. View ID = ");
System.out.println("localStringBuilder=="+localStringBuilder);
}
}
项目:FriendCircleDemo
文件:MaskedImage.java
protected void onDraw(Canvas paramCanvas) {
Drawable localDrawable = getDrawable();
if (localDrawable == null)
return;
try {
if (this.paint == null) {
Paint localPaint1 = new Paint();
this.paint = localPaint1;
this.paint.setFilterBitmap(false);
Paint localPaint2 = this.paint;
Xfermode localXfermode1 = MASK_XFERMODE;
@SuppressWarnings("unused")
Xfermode localXfermode2 = localPaint2.setXfermode(localXfermode1);
}
float f1 = getWidth();
float f2 = getHeight();
int i = paramCanvas.saveLayer(0.0F,localPaint3);
paramCanvas.restoretoCount(i);
return;
} catch (Exception localException) {
StringBuilder localStringBuilder = new StringBuilder()
.append("Attempting to draw with recycled bitmap. View ID = ");
System.out.println("localStringBuilder=="+localStringBuilder);
}
}
项目:AyoSunny
文件:MaskedImage.java
protected void onDraw(Canvas paramCanvas)
{
Drawable localDrawable = getDrawable();
if (localDrawable == null)
return;
try
{
if (this.paint == null)
{
Paint localPaint1 = new Paint();
this.paint = localPaint1;
this.paint.setFilterBitmap(false);
Paint localPaint2 = this.paint;
Xfermode localXfermode1 = MASK_XFERMODE;
@SuppressWarnings("unused")
Xfermode localXfermode2 = localPaint2.setXfermode(localXfermode1);
}
float f1 = getWidth();
float f2 = getHeight();
int i = paramCanvas.saveLayer(0.0F,k);
localDrawable.draw(paramCanvas);
if ((this.mask == null) || (this.mask.isRecycled()))
{
Bitmap localBitmap1 = createMask();
this.mask = localBitmap1;
}
Bitmap localBitmap2 = this.mask;
Paint localPaint3 = this.paint;
paramCanvas.drawBitmap(localBitmap2,localPaint3);
paramCanvas.restoretoCount(i);
return;
} catch (Exception localException)
{
StringBuilder localStringBuilder = new StringBuilder().append("Attempting to draw with recycled bitmap. View ID = ");
System.out.println("localStringBuilder==" + localStringBuilder);
}
}
项目:Pioneer
文件:Spans.java
@Override
public void draw(@NonNull Rect outRect,@NonNull Canvas canvas,CharSequence text,@IntRange(from = 0) int start,@IntRange(from = 0) int end,float x,int top,int y,int bottom,@NonNull Paint paint) {
if (bitmap == null) {
bitmap = Bitmap.createBitmap(frame.right - frame.left,frame.bottom - frame.top,Bitmap.Config.ARGB_8888);
bitmapCanvas = new Canvas(bitmap);
}
bitmapCanvas.drawColor(Color.BLACK,PorterDuff.Mode.CLEAR);
bitmapCanvas.translate(-x,0);
super.draw(outRect,bitmapCanvas,text,start,end,x,top,y,bottom,paint);
Xfermode oldXfermode = paint.getXfermode();
paint.setXfermode(this.xfermode);
srcGroup.draw(outRect,paint);
paint.setXfermode(oldXfermode);
canvas.drawBitmap(bitmap,null);
}
项目:Noyze
文件:ColorHelper.java
@SuppressWarnings("unused")
public static void setXfermode(ImageView icon,Xfermode mode) {
try {
// Try to load/ cache the xfermode method.
if (null == xfremode) {
xfremode = ImageView.class.getDeclaredMethod("setXfermode",Xfermode.class);
if (null != xfremode) xfremode.setAccessible(true);
}
if (null != xfremode) xfremode.invoke(icon,mode);
} catch (Throwable t) {
LogUtils.LOGE("ColorHelper","Error with ImageView#setXfermode",t);
}
}
项目:ALLGO
文件:MaskedImage.java
protected void onDraw(Canvas paramCanvas) {
Drawable localDrawable = getDrawable();
if (localDrawable == null)
return;
try {
if (this.paint == null) {
Paint localPaint1 = new Paint();
this.paint = localPaint1;
this.paint.setFilterBitmap(false);
Paint localPaint2 = this.paint;
Xfermode localXfermode1 = MASK_XFERMODE;
@SuppressWarnings("unused")
Xfermode localXfermode2 = localPaint2.setXfermode(localXfermode1);
}
float f1 = getWidth();
float f2 = getHeight();
int i = paramCanvas.saveLayer(0.0F,localPaint3);
paramCanvas.restoretoCount(i);
return;
} catch (Exception localException) {
StringBuilder localStringBuilder = new StringBuilder()
.append("Attempting to draw with recycled bitmap. View ID = ");
System.out.println("localStringBuilder=="+localStringBuilder);
}
}
项目:pixate-freestyle-android
文件:PXPaintGroup.java
@Override
public void setBleningMode(Xfermode mode) {
super.setBleningMode(mode);
if (paints != null) {
for (PXPaint p : paints) {
p.setBleningMode(mode);
}
}
}
项目:RoundedImageView
文件:RoundedImageView.java
@SuppressLint("NewApi")
private void init(AttributeSet attrs) {
if (Build.VERSION.SDK_INT >= 11) {
setLayerType( LAYER_TYPE_SOFTWARE,null );
}
borderColor = DEFAULT_BORDER_COLOR;
if(attrs != null){
TypedArray array = context.obtainStyledAttributes(attrs,R.styleable._RoundedImageView);
if(array != null){
borderColor = array.getColor(R.styleable._RoundedImageView_borderColor,DEFAULT_BORDER_COLOR);
borderWidth = array.getDimensionPixelSize(R.styleable._RoundedImageView_borderWidth,-1);
roundWidth = array.getDimensionPixelSize(R.styleable._RoundedImageView_roundWidth,-1);
array.recycle();
}
}
displayMetrics displayMetrics = new displayMetrics();
WindowManager windowManager = (WindowManager) getContext().getSystemService( Context.WINDOW_SERVICE );
windowManager.getDefaultdisplay().getMetrics( displayMetrics );
paint = new Paint();
paint.setStyle( Style.stroke );
paint.setColor( borderColor );
paint.setAntiAlias( true );
paint.setstrokeWidth( borderWidth );
Xfermode xfermode = new PorterDuffXfermode( PorterDuff.Mode.SRC );
paint.setXfermode( xfermode );
drawRect = new RectF();
drawPath = new Path();
}
项目:Anki-Android
文件:GraphicsWrap.java
public void drawImage(BufferedImageWrap image,String tmp,float y){
//System.err.println("drawImage: " + image.getBitmap().getWidth() + " : "+ image.getBitmap().getHeight());
Xfermode mode = paint.getXfermode();
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_OVER));
//canvas.drawBitmap(image.getBitmap(),paint);
Bitmap bitmap = image.getBitmap();
bitmap.preparetoDraw();
canvas.drawBitmap(bitmap,canvas.getClipBounds(),paint);
paint.setXfermode(mode);
}
项目:android-ui-demos
文件:XferModeTestView.java
public void setXferMode(Xfermode xferMode) {
mXfermode = xferMode;
invalidate();
}
private Xfermode convertComposite(Canvas.Composite composite) {
return xfermodes[composite.ordinal()];
}
项目:forplay
文件:AndroidSurfaceState.java
private Xfermode convertComposite(Canvas.Composite composite) {
return xfermodes[composite.ordinal()];
}
项目:pixate-freestyle-android
文件:BasePXPaint.java
public void setBleningMode(Xfermode mode) {
blendingMode = mode;
}
项目:pixate-freestyle-android
文件:BasePXPaint.java
public Xfermode getBleningMode() {
return blendingMode;
}
项目:Android-Jigsaw-Puzzle
文件:DrawingView.java
项目:pixate-freestyle-android
文件:PXPaint.java
/**
* Sets the blend mode to use when applying this fill
*/
void setBleningMode(Xfermode mode);
项目:pixate-freestyle-android
文件:PXPaint.java
/**
* Returns the blend mode to use when applying this fill.
*
* @return {@link Xfermode} May be <code>null</code>
*/
Xfermode getBleningMode();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。