当前位置: 首页>>代码示例>>Java>>正文


Java Canvas.drawRoundRect方法代码示例

本文整理汇总了Java中android.graphics.Canvas.drawRoundRect方法的典型用法代码示例。如果您正苦于以下问题:Java Canvas.drawRoundRect方法的具体用法?Java Canvas.drawRoundRect怎么用?Java Canvas.drawRoundRect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.graphics.Canvas的用法示例。


在下文中一共展示了Canvas.drawRoundRect方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createContentDrawable

import android.graphics.Canvas; //导入方法依赖的package包/类
private Drawable createContentDrawable(int width, int height) {
    int radius = height / 2;

    Paint paint = new Paint();
    paint.setAntiAlias(true);
    paint.setDither(true);
    paint.setShader(createGradient(width, height));

    Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);
    canvas.drawRoundRect(new RectF(0, 0, width, height), radius, radius, paint);

    if(!isFilled) {
        Paint background = new Paint();
        background.setAntiAlias(true);
        background.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
        background.setColor(mBackgroundColor);

        int innerRadius = (height - mStroke) / 2;
        canvas.drawRoundRect(new RectF(mStroke, mStroke, width - mStroke, height - mStroke),
                innerRadius, innerRadius, background);
    }

    return new BitmapDrawable(getResources(), bitmap);
}
 
开发者ID:bartbergmans,项目名称:GradientButton,代码行数:26,代码来源:GradientButton.java

示例2: onDraw

import android.graphics.Canvas; //导入方法依赖的package包/类
@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    float tempWidth = getWidth();
    if (getWidth() < getHeight()) {
        tempWidth = getHeight();
    }
    mTextRectF.set(0, 0, tempWidth, getHeight());

    canvas.drawRoundRect(mTextRectF, getHeight() / 2, getHeight() / 2, mPaint);

    //居中drawText
    int centerY = (int) (mTextRectF.centerY() - mFontMetricsTop / 2 - mFontMetricsBottom / 2);

    canvas.drawText(mDrawText, mTextRectF.centerX(), centerY, mTextPaint);
}
 
开发者ID:fendoudebb,项目名称:DragBadgeView,代码行数:17,代码来源:DragBadgeView.java

示例3: getRoundedSquareBitmap

import android.graphics.Canvas; //导入方法依赖的package包/类
static Bitmap getRoundedSquareBitmap(Drawable drawable, int color) {
    float radius = 250.0f;
    Bitmap bitmap = drawableToBitmap(drawable);

    Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
            bitmap.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(output);

    final Paint paint = new Paint();
    final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
    final RectF rectF = new RectF(0, 0, bitmap.getWidth(), bitmap.getHeight());

    paint.setAntiAlias(true);
    canvas.drawARGB(0, 0, 0, 0);
    paint.setColor(color);
    canvas.drawRoundRect(rectF, radius, radius, paint);
    paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
    canvas.drawBitmap(bitmap, rect, rect, paint);

    return output;
}
 
开发者ID:robertlevonyan,项目名称:materialExpansionPanel,代码行数:22,代码来源:ExpandableUtils.java

示例4: getTweetImage

import android.graphics.Canvas; //导入方法依赖的package包/类
private Bitmap getTweetImage(String url) {
    byte[] image_b = getImageByte(url);

    Bitmap image;

    if (image_b != null) {
        image = BitmapFactory.decodeByteArray(image_b, 0, image_b.length);
    } else {
        image = BitmapFactory.decodeResource(context.getResources(), R.drawable.pessoa_foto_default);
    }

    Bitmap imageRounded = Bitmap.createBitmap(image.getWidth(), image.getHeight(), image.getConfig());
    Canvas canvas = new Canvas(imageRounded);
    Paint paint = new Paint();
    paint.setAntiAlias(true);
    paint.setShader(new BitmapShader(image, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP));
    canvas.drawRoundRect((new RectF(0, 0, image.getWidth(), image.getHeight())), 12, 12, paint);
    return imageRounded;
}
 
开发者ID:secompufscar,项目名称:app_secompufscar,代码行数:20,代码来源:ListHashtagAdapter.java

示例5: getCircleBitmap

import android.graphics.Canvas; //导入方法依赖的package包/类
/**
 * 获取圆形图片
 *
 * @param bitmap 源bitmap
 * @return 圆形bitmap
 */
public static Bitmap getCircleBitmap(Bitmap bitmap) {
        Bitmap outBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(outBitmap);
        float roundSize;
        roundSize = Math.min(bitmap.getHeight(), bitmap.getWidth()) / 2f;
        Paint paint = new Paint();
        paint.setAntiAlias(true);
        canvas.drawARGB(0, 0, 0, 0);
        paint.setColor(Color.WHITE);
        RectF rectF = new RectF(0, 0, roundSize * 2, roundSize * 2);
        Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
        canvas.drawRoundRect(rectF, roundSize, roundSize, paint);
        paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
        canvas.drawBitmap(bitmap, rect, new Rect(0, 0, Math.min(bitmap.getHeight(), bitmap.getWidth()), Math.min(bitmap.getHeight(), bitmap.getWidth())), paint);
        return outBitmap;
}
 
开发者ID:HelloChenJinJun,项目名称:TestChat,代码行数:23,代码来源:CommonUtils.java

示例6: onDraw

import android.graphics.Canvas; //导入方法依赖的package包/类
@Override
protected void onDraw(Canvas canvas) {
    canvas.drawColor(BACKGROUND_COLOR);

    int width = getWidth();
    int height = getHeight();

    for (int i = 0; i < 2; i++) {
        rects.add((float) Math.random() * width);
        rects.add((float) Math.random() * height);
    }
    colors.add(0xff000000 | (int) (0xffffff * Math.random()));

    for (int i = 0; i < rects.size() / 4; i++) {
        paint.setColor(colors.get(i));
        canvas.drawRoundRect(
                rects.get(i * 4    ),
                rects.get(i * 4 + 1),
                rects.get(i * 4 + 2),
                rects.get(i * 4 + 3),
                40, 40, paint);
    }

    if (rects.size() < 400) postInvalidateDelayed(20);
}
 
开发者ID:PacktPublishing,项目名称:Building-Android-UIs-with-Custom-Views,代码行数:26,代码来源:PrimitiveDrawer.java

示例7: toRoundCorner

import android.graphics.Canvas; //导入方法依赖的package包/类
/**将图片改为圆角类型
 * @param bitmap
 * @param pixels
 * @return
 */
public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) {
	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());
	final RectF rectF = new RectF(rect);
	final float roundPx = pixels;
	paint.setAntiAlias(true);
	canvas.drawARGB(0, 0, 0, 0);
	paint.setColor(color);
	canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
	paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
	canvas.drawBitmap(bitmap, rect, rect, paint);
	return output;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:22,代码来源:ImageLoaderUtil.java

示例8: drawIndicatorLine

import android.graphics.Canvas; //导入方法依赖的package包/类
private void drawIndicatorLine(Canvas canvas, int offset, ITrendData trendData) {
    String textIndicator = trendData == null ? "00:00 --/--" : trendData.popTextInfo();

    float offsetLineY = getBezierY(mControlPoints, offset);

    mChartIndicatorPaint.setColor(trendData == null ? Color.argb(32, 255, 255, 255) : trendData.levelColor());
    mChartIndicatorPaint.setStyle(Paint.Style.FILL);
    mChartIndicatorPaint.setAntiAlias(true);

    /**
     * 气泡区域
     */

    mRectIndicator.left = offset;
    mRectIndicator.right = mRectIndicator.left + mIndicatorWidth;
    mRectIndicator.bottom = offsetLineY;
    mRectIndicator.top = mRectIndicator.bottom - mIndicatorHeight;

    canvas.drawRoundRect(mRectIndicator, dp12, dp12, mChartIndicatorPaint);

    //遮住左下角的半圆区域
    mRectIndicator.top = mRectIndicator.top + mRectIndicator.height() / 2;
    mRectIndicator.right = mRectIndicator.left + mRectIndicator.height();

    canvas.drawRect(mRectIndicator, mChartIndicatorPaint);

    float textWidth = mWhiteTextPaint.measureText(textIndicator);
    //text position for Y axis
    float textX;
    float textY;

    textX = offset + (mIndicatorWidth / 2 - textWidth / 2);
    textY = mRectIndicator.bottom - mIndicatorHeight / 2 - mWhiteTextPaintHeight / 2;
    canvas.drawText(textIndicator,
            textX,
            textY,
            mWhiteTextPaint);
}
 
开发者ID:maoruibin,项目名称:TrendChartView,代码行数:39,代码来源:TrendChartView.java

示例9: drawOtherBottomRightRoundRect

import android.graphics.Canvas; //导入方法依赖的package包/类
private void drawOtherBottomRightRoundRect(Canvas canvas, Paint paint, float right,
    float bottom) {
  canvas.drawRoundRect(new RectF(mMargin, mMargin, right, mMargin + mDiameter), mRadius, mRadius,
      paint);
  canvas.drawRoundRect(new RectF(mMargin, mMargin, mMargin + mDiameter, bottom), mRadius, mRadius,
      paint);
  canvas.drawRect(new RectF(mMargin + mRadius, mMargin + mRadius, right, bottom), paint);
}
 
开发者ID:open-android,项目名称:Picasso-transformations,代码行数:9,代码来源:RoundedCornersTransformation.java

示例10: drawText

import android.graphics.Canvas; //导入方法依赖的package包/类
public void drawText(ImageView imageView, String t2) {

        // ImageView myImageView =
        Bitmap myBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Config.RGB_565);
        Paint myPaint = new Paint();
        myPaint.setColor(Color.BLUE);
        myPaint.setAntiAlias(true);
        myPaint.setTextSize(80);

        int x1 = 10;
        int y1 = 80;
        int x2 = 20;
        int y2 = 20;

        // Create mContext new image bitmap and attach a brand new canvas to it
        Bitmap tempBitmap = Bitmap.createBitmap(myBitmap.getWidth(), myBitmap.getHeight(), Bitmap.Config.RGB_565);
        Canvas tempCanvas = new Canvas(tempBitmap);

        // Draw the image bitmap into the cavas
        tempCanvas.drawBitmap(myBitmap, 0, 0, null);

        // Draw everything else you want into the canvas, in this example mContext
        // rectangle with rounded edges
        tempCanvas.drawRoundRect(new RectF(x1, y1, x2, y2), 2, 2, myPaint);
        tempCanvas.drawText(t2.substring(0, 1).toUpperCase(), x1, y1, myPaint);

        // Attach the canvas to the ImageView
        imageView.setImageDrawable(new BitmapDrawable(getResources(), tempBitmap));
    }
 
开发者ID:victordiaz,项目名称:phonk,代码行数:30,代码来源:ProjectItem.java

示例11: drawDiagonalFromTopRightRoundRect

import android.graphics.Canvas; //导入方法依赖的package包/类
private void drawDiagonalFromTopRightRoundRect(Canvas canvas, Paint paint, float right,
    float bottom) {
  canvas.drawRoundRect(new RectF(right - mDiameter, mMargin, right, mMargin + mDiameter), mRadius,
      mRadius, paint);
  canvas.drawRoundRect(new RectF(mMargin, bottom - mDiameter, mMargin + mDiameter, bottom),
      mRadius, mRadius, paint);
  canvas.drawRect(new RectF(mMargin, mMargin, right - mRadius, bottom - mRadius), paint);
  canvas.drawRect(new RectF(mMargin + mRadius, mMargin + mRadius, right, bottom), paint);
}
 
开发者ID:open-android,项目名称:Picasso-transformations,代码行数:10,代码来源:RoundedCornersTransformation.java

示例12: drawDiagonalFromTopLeftRoundRect

import android.graphics.Canvas; //导入方法依赖的package包/类
private void drawDiagonalFromTopLeftRoundRect(Canvas canvas, Paint paint, float right,
    float bottom) {
  canvas.drawRoundRect(new RectF(mMargin, mMargin, mMargin + mDiameter, mMargin + mDiameter),
      mRadius, mRadius, paint);
  canvas.drawRoundRect(new RectF(right - mDiameter, bottom - mDiameter, right, bottom), mRadius,
      mRadius, paint);
  canvas.drawRect(new RectF(mMargin, mMargin + mRadius, right - mDiameter, bottom), paint);
  canvas.drawRect(new RectF(mMargin + mDiameter, mMargin, right, bottom - mRadius), paint);
}
 
开发者ID:open-android,项目名称:Picasso-transformations,代码行数:10,代码来源:RoundedCornersTransformation.java

示例13: drawTargetWeightPath

import android.graphics.Canvas; //导入方法依赖的package包/类
private void drawTargetWeightPath(Canvas drawCanvas) {
    float currentLeft = 0.0f;
    float currentRight = 0.0f;
    float target = this.targetWeight;
    float rectPadding = (float) ChartUtils.dp2px(this.density, 2);
    prepareWeightLinePaint();
    Viewport currentViewport = this.computator.getCurrentViewport();
    if (currentViewport != null) {
        currentLeft = currentViewport.left;
        currentRight = currentViewport.right;
    }
    float rawX1 = this.computator.computeRawX(currentLeft);
    float rawX2 = this.computator.computeRawX(currentRight);
    float y = this.computator.computeRawY(target);
    Path path1 = new Path();
    path1.moveTo(rawX1, y);
    path1.lineTo(rawX2, y);
    drawCanvas.drawPath(path1, this.weightLinePaint);
    String targetStr = "目标: " + target + "kg";
    float textWidth = this.weightStrPaint.measureText(targetStr);
    float textX = ((rawX1 + rawX2) / 2.0f) - (textWidth / 2.0f);
    float textY = y + (getTextHeight() / aj.hA);
    this.weightLinePaint.setStyle(Style.FILL);
    float corner = (float) ChartUtils.dp2px(this.density, 3);
    drawCanvas.drawRoundRect(new RectF((float) ((int) (textX - rectPadding)), (float) ((int) ((y - (getTextHeight() / 2.0f)) - rectPadding)), (float) ((int) ((textX + textWidth) + rectPadding)), (float) ((int) (((getTextHeight() / 2.0f) + y) + rectPadding))), corner, corner, this.weightLinePaint);
    drawCanvas.drawText(targetStr, textX, textY, this.weightStrPaint);
}
 
开发者ID:JackChan1999,项目名称:boohee_v5.6,代码行数:28,代码来源:LineChartRenderer.java

示例14: drawChartRect

import android.graphics.Canvas; //导入方法依赖的package包/类
private void drawChartRect(Canvas canvas, int position) {
    ChartRect chartRect = mChartRectList.get(position);
    canvas.save();
    mChartPaint.setColor(chartRect.color);
    RectF rectChart = chartRect.rectChart;
    canvas.clipRect(rectChart.left, rectChart.top, rectChart.right, rectChart.bottom - roundRadius, Region.Op.INTERSECT);
    if (position < mCurrentTimePosition) {
        mChartPaint.setAlpha(102);
    } else {
        mChartPaint.setAlpha(255);
    }
    canvas.drawRoundRect(rectChart, roundRadius, roundRadius, mChartPaint);
    canvas.restore();
}
 
开发者ID:maoruibin,项目名称:TrendChartView,代码行数:15,代码来源:TrendChartView.java

示例15: drawHuePanel

import android.graphics.Canvas; //导入方法依赖的package包/类
private void drawHuePanel(Canvas canvas) {
    final Rect rect = hueRect;

    if (BORDER_WIDTH_PX > 0) {
        borderPaint.setColor(borderColor);

        canvas.drawRect(rect.left - BORDER_WIDTH_PX,
                rect.top - BORDER_WIDTH_PX,
                rect.right + BORDER_WIDTH_PX,
                rect.bottom + BORDER_WIDTH_PX,
                borderPaint);
    }

    if (hueBackgroundCache == null) {
        hueBackgroundCache = new BitmapCache();
        hueBackgroundCache.bitmap = Bitmap.createBitmap(rect.width(), rect.height(), Config.ARGB_8888);
        hueBackgroundCache.canvas = new Canvas(hueBackgroundCache.bitmap);

        int[] hueColors = new int[(int) (rect.height() + 0.5f)];

        // Generate array of all colors, will be drawn as individual lines.
        float h = 360f;
        for (int i = 0; i < hueColors.length; i++) {
            hueColors[i] = Color.HSVToColor(new float[]{h, 1f, 1f});
            h -= 360f / hueColors.length;
        }

        // Time to draw the hue color gradient,
        // its drawn as individual lines which
        // will be quite many when the resolution is high
        // and/or the panel is large.
        Paint linePaint = new Paint();
        linePaint.setStrokeWidth(0);
        for (int i = 0; i < hueColors.length; i++) {
            linePaint.setColor(hueColors[i]);
            hueBackgroundCache.canvas.drawLine(0, i, hueBackgroundCache.bitmap.getWidth(), i, linePaint);
        }
    }

    canvas.drawBitmap(hueBackgroundCache.bitmap, null, rect, null);

    Point p = hueToPoint(hue);

    RectF r = new RectF();
    r.left = rect.left - sliderTrackerOffsetPx;
    r.right = rect.right + sliderTrackerOffsetPx;
    r.top = p.y - (sliderTrackerSizePx / 2);
    r.bottom = p.y + (sliderTrackerSizePx / 2);

    canvas.drawRoundRect(r, 2, 2, hueAlphaTrackerPaint);
}
 
开发者ID:nhocga1995s,项目名称:MyCalendar,代码行数:52,代码来源:ColorPickerView.java


注:本文中的android.graphics.Canvas.drawRoundRect方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。