本文整理汇总了Java中android.graphics.Canvas.drawCircle方法的典型用法代码示例。如果您正苦于以下问题:Java Canvas.drawCircle方法的具体用法?Java Canvas.drawCircle怎么用?Java Canvas.drawCircle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.graphics.Canvas
的用法示例。
在下文中一共展示了Canvas.drawCircle方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: transform
import android.graphics.Canvas; //导入方法依赖的package包/类
@Override
public Bitmap transform(Bitmap source) {
int size = Math.min(source.getWidth(), source.getHeight());
int x = (source.getWidth() - size) / 2;
int y = (source.getHeight() - size) / 2;
Bitmap squaredBitmap = Bitmap.createBitmap(source, x, y, size, size);
if (squaredBitmap != source) {
source.recycle();
}
Bitmap bitmap = Bitmap.createBitmap(size, size, source.getConfig());
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
BitmapShader shader = new BitmapShader(squaredBitmap, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP);
paint.setShader(shader);
paint.setAntiAlias(true);
float r = size / 2f;
canvas.drawCircle(r, r, r, paint);
squaredBitmap.recycle();
return bitmap;
}
示例2: onDraw
import android.graphics.Canvas; //导入方法依赖的package包/类
@Override
public void onDraw(Canvas canvas) {
canvas.drawPaint(backgroundPaint);
if (this.liveStrength == null) {
// Nothing to draw yet...
return;
}
float midX = canvas.getWidth() / 2f;
float midY = canvas.getHeight() / 2f;
float rad = Math.min(midX / 4f, midY);
for (int i = 0; i < 4; i++) {
float atX = midX + (i * 2 - 3) * rad; // i = [0, 1, 2, 3] -> [-3, -1, 1, 3]
Paint paint = paintForStrength(liveStrength.getChannelStatus(i));
canvas.drawCircle(atX, midY, rad * PADDING, paint);
}
}
示例3: onDraw
import android.graphics.Canvas; //导入方法依赖的package包/类
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (x != -1) {
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(makePressColor());
canvas.drawCircle(x, y, radius, paint);
if(radius > getHeight()/rippleSize)
radius += rippleSpeed;
if(radius >= getWidth()){
x = -1;
y = -1;
radius = getHeight()/rippleSize;
if(onClickListener != null&& clickAfterRipple)
onClickListener.onClick(this);
}
invalidate();
}
}
示例4: drawIcon
import android.graphics.Canvas; //导入方法依赖的package包/类
@Override
public void drawIcon(Canvas canvas, float fraction, Drawable drawable, int colorOfIcon,
WidthAndHeightOfView widthAndHeightOfView) {
int centerX = widthAndHeightOfView.getWidth() / 2;
int centerY = widthAndHeightOfView.getHeight() / 2 - 150;
canvas.save();
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
float newFraction = (fraction - 0.65f) / 0.35f;
paint.setColor(Color.parseColor("#e53935"));
canvas.drawCircle(centerX, centerY - 50, 100 * (1 - newFraction), paint);
paint.setColor(Color.parseColor("#fdd835"));
canvas.drawCircle(centerX -35, centerY + 35,100 * (1 - newFraction), paint);
paint.setColor(Color.parseColor("#1e88e5"));
canvas.drawCircle(centerX + 35, centerY + 35, 100 * (1 - newFraction), paint);
canvas.restore();
canvas.save();
Path path = new Path();
Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
Matrix matrix = new Matrix();
matrix.postScale(1.7f, 1.7f, centerX, centerY);
canvas.concat(matrix);
path.addCircle(centerX, centerY, bitmap.getHeight() * 1.5f * newFraction, Path.Direction.CW);
canvas.clipPath(path);
canvas.drawBitmap(bitmap, centerX - bitmap.getWidth() / 2, centerY - bitmap.getHeight() / 2, paint);
canvas.restore();
}
示例5: circleCrop
import android.graphics.Canvas; //导入方法依赖的package包/类
private static Bitmap circleCrop(BitmapPool pool, Bitmap source) {
if (source == null) return null;
int size = Math.min(source.getWidth(), source.getHeight());
int x = (source.getWidth() - size) / 2;
int y = (source.getHeight() - size) / 2;
// TODO this could be acquired from the pool too
Bitmap squared = Bitmap.createBitmap(source, x, y, size, size);
Bitmap result = pool.get(size, size, Bitmap.Config.ARGB_8888);
if (result == null) {
result = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);
}
float r = size / 2f;
Canvas canvas = new Canvas(result);
Paint paint = new Paint();
paint.setColor(Color.parseColor("#F9F9F9"));
paint.setStyle(Paint.Style.FILL);
canvas.drawCircle(r, r, r, paint);
paint.reset();
paint.setShader(new BitmapShader(squared, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));
paint.setAntiAlias(true);
canvas.drawCircle(r, r, r, paint);
return result;
}
示例6: draw
import android.graphics.Canvas; //导入方法依赖的package包/类
/**
* Draw the progress spinner
*/
public void draw(Canvas c, Rect bounds) {
mCirclePaint.setColor(mBackgroundColor);
mCirclePaint.setAlpha(mAlpha);
c.drawCircle(bounds.exactCenterX(), bounds.exactCenterY(), bounds.width() / 2, mCirclePaint);
final RectF arcBounds = mTempBounds;
arcBounds.set(bounds);
arcBounds.inset(mStrokeInset, mStrokeInset);
final float startAngle = (mStartTrim + mRotation) * 360;
final float endAngle = (mEndTrim + mRotation) * 360;
float sweepAngle = endAngle - startAngle;
mArcPaint.setColor(mColors[mColorIndex]);
mArcPaint.setAlpha(mAlpha);
c.drawArc(arcBounds, startAngle, sweepAngle, false, mArcPaint);
drawTriangle(c, startAngle, sweepAngle, bounds);
}
示例7: cropCircle
import android.graphics.Canvas; //导入方法依赖的package包/类
public Bitmap cropCircle(Bitmap bitmap) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2,
bitmap.getWidth() / 2, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
示例8: getCroppedBitmap
import android.graphics.Canvas; //导入方法依赖的package包/类
public Bitmap getCroppedBitmap(Bitmap bitmap) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2,
bitmap.getWidth() / 2, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
示例9: toRound
import android.graphics.Canvas; //导入方法依赖的package包/类
/**
* 转为圆形图片
*
* @param src 源图片
* @param recycle 是否回收
* @return 圆形图片
*/
public static Bitmap toRound(Bitmap src, boolean recycle) {
if (isEmptyBitmap(src)) return null;
int width = src.getWidth();
int height = src.getHeight();
int radius = Math.min(width, height) >> 1;
Bitmap ret = Bitmap.createBitmap(width, height, src.getConfig());
Paint paint = new Paint();
Canvas canvas = new Canvas(ret);
Rect rect = new Rect(0, 0, width, height);
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
canvas.drawCircle(width >> 1, height >> 1, radius, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(src, rect, rect, paint);
if (recycle && !src.isRecycled()) src.recycle();
return ret;
}
示例10: onDraw
import android.graphics.Canvas; //导入方法依赖的package包/类
@Override
protected void onDraw(Canvas canvas) {
float height = getMeasuredHeight();
float outerRadius = badgeRadius * OUTER_RADIUS_MULTIPLIER;
//draw background
canvas.drawCircle(outerRadius, outerRadius, outerRadius, backgroundPaint);
canvas.drawRect(outerRadius, 0, textWidth + (2 * space) + (2 * outerRadius), outerRadius * 2, backgroundPaint);
canvas.drawCircle(textWidth + (2 * space) + (2 * outerRadius), outerRadius, outerRadius, backgroundPaint);
//draw badge
canvas.drawCircle(outerRadius, outerRadius, badgeRadius, badgePaint);
canvas.drawText(text, (outerRadius * 2) + space, outerRadius + textPaint.descent() * 1.2f, textPaint);
}
示例11: drawPoint
import android.graphics.Canvas; //导入方法依赖的package包/类
private void drawPoint(Canvas canvas) {
int height = getHeight() - textSize * 4;
int x = getWidth() / 2;
int y = (int) (height - height * (temperatureDay - minTemp) * 1.0f / (maxTemp - minTemp)) + textSize * 2;
int x2 = getWidth() / 2;
int y2 = (int) (height - height * (temperatureNight - minTemp) * 1.0f / (maxTemp - minTemp)) + textSize * 2;
xPointDay = x;
yPointDay = y;
xPointNight = x2;
yPointNight = y2;
mWidth = getWidth();
canvas.drawCircle(x, y, radius, pointPaint);
canvas.drawCircle(x2, y2, radius, pointPaint);
}
示例12: drawPress
import android.graphics.Canvas; //导入方法依赖的package包/类
private void drawPress(Canvas canvas) {
if(mShapeType == 0){
canvas.drawCircle(mWidth/2, mHeight/2, mWidth/2, mPressPaint);
}else if (mShapeType == 1) {
RectF rectF = new RectF(0, 0, mWidth, mHeight);
canvas.drawRoundRect(rectF, mRadius, mRadius, mPressPaint);
}
}
示例13: drawPointInterfere
import android.graphics.Canvas; //导入方法依赖的package包/类
private void drawPointInterfere(Canvas canvas){
for (int i = 0; i < pointInterfereQuantity; i++) {
bgPaint.setColor(randomColor());
interferPoint=randomPoint();
canvas.drawCircle(interferPoint.x,interferPoint.y,random.nextInt(3)+1,bgPaint);
}
}
示例14: draw
import android.graphics.Canvas; //导入方法依赖的package包/类
@Override
public void draw(Canvas canvas, Paint paint) {
float circleSpacing=4;
for (int i = 0; i < 3; i++) {
paint.setAlpha(alphaInts[i]);
canvas.scale(scaleFloats[i],scaleFloats[i],getWidth()/2,getHeight()/2);
canvas.drawCircle(getWidth()/2,getHeight()/2,getWidth()/2-circleSpacing,paint);
}
}
示例15: drawPoint
import android.graphics.Canvas; //导入方法依赖的package包/类
/**
* 画密码点
*/
private void drawPoint(Canvas canvas) {
if (pointRadius > 0) {
paint.setColor(codeColor);
for (int i = 0; i < code.length(); i++) {
final float left = unitWidth * i + dividerWidth * i + borderWidth;
canvas.drawCircle(left + unitWidth / 2, getHeight() / 2, pointRadius, paint);
}
}
}