微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android.graphics.ComposeShader的实例源码

项目:Rxjava2.0Demo    文件DrawTextView.java   
private void initPaint() {
        displayMetrics dm = getContext().getResources().getdisplayMetrics();
        textSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,textSize,dm);
        mPaint = new Paint();
        mPaint.setColor(Color.RED);
        mPaint.setAntiAlias(true);
        mPaint.setstrokeWidth(1);
        mPaint.setTextSize(35);
        mPaint.setColorFilter(new ColorFilter());
//        mPaint.setStyle(Paint.Style.stroke);
        mPath = new Path();
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.bg1);
        bitmapShader = new BitmapShader(bitmap,Shader.TileMode.CLAMP,Shader.TileMode.CLAMP);
        Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(),R.drawable.bg2);
        bitmapShader1 = new BitmapShader(bitmap1,Shader.TileMode.CLAMP);
        shader = new ComposeShader(bitmapShader,bitmapShader1,PorterDuff.Mode.SRC_OVER);

    }
项目:airgram    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,int height) {

        Bitmap bitmap = Bitmap.createBitmap(width,height,Config.ARGB_8888);

        int colorCount = 12;
        int colorAngleStep = 360 / 12;
        int colors[] = new int[colorCount + 1];
        float hsv[] = new float[] { 0f,1f,1f };
        for (int i = 0; i < colors.length; i++) {
            hsv[0] = (i * colorAngleStep + 180) % 360;
            colors[i] = Color.HSVToColor(hsv);
        }
        colors[colorCount] = colors[0];

        SweepGradient sweepGradient = new SweepGradient(width / 2,height / 2,colors,null);
        RadialGradient radialGradient = new RadialGradient(width / 2,colorWheelRadius,0xFFFFFFFF,0x00FFFFFF,TileMode.CLAMP);
        ComposeShader composeShader = new ComposeShader(sweepGradient,radialGradient,PorterDuff.Mode.SRC_OVER);

        colorWheelPaint.setShader(composeShader);

        Canvas canvas = new Canvas(bitmap);
        canvas.drawCircle(width / 2,colorWheelPaint);

        return bitmap;

    }
项目:airgram    文件multicolorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:buildAPKsApps    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:buildAPKsApps    文件multicolorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:simpledialogFragments    文件ColorWheelView.java   
protected void updateColorDependant(boolean hsvChanged,boolean hueChanged){
    if (hueChanged) {
        Shader base = new LinearGradient(A.x,A.y,(B.x + C.x) / 2,(B.y + C.y) / 2,Color.HSVToColor(new float[]{mColor.hue(),1,1}),Color.BLACK,Shader.TileMode.CLAMP);
        Shader light = new LinearGradient((A.x + C.x) / 2,(A.y + C.y) / 2,B.x,B.y,Color.WHITE,Shader.TileMode.CLAMP);
        Shader both = new ComposeShader(base,light,PorterDuff.Mode.ADD);
        paint.setShader(both);
    }
    if (hsvChanged) {
        dotPaint.setColor(mColor.inverted().rgb());
        dot = new PointF(
                C.x + (B.x - C.x + (A.x - B.x) * mColor.sat()) * mColor.val(),C.y + (B.y - C.y + (A.y - B.y) * mColor.sat()) * mColor.val());
    }
}
项目:controllerformote-android    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:PerfectShow    文件ColorPickerCircle.java   
@SuppressLint("DrawAllocation")
@Override
protected void onDraw(Canvas canvas)
{
    super.onDraw(canvas);
    int width  = getMeasuredWidth();
    int height = getMeasuredHeight();

    int new_color = Color.HSVToColor(hsv);
    if(color != new_color)
    {
        Shader shader_x = new LinearGradient(0.0F,0.0F,width,new_color,TileMode.CLAMP);

        ComposeShader shader = new ComposeShader(shader_y,shader_x,PorterDuff.Mode.MULTIPLY);
        paint.setShader(shader);

        color = new_color;
    }
    canvas.drawRect(0.0F,paint);
}
项目:px-android    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,Config.ARGB_8888);

        int colorCount = 12;
        int colorAngleStep = 360 / 12;
        int colors[] = new int[colorCount + 1];
        float hsv[] = new float[]{0f,1f};
        for (int i = 0; i < colors.length; i++) {
            hsv[0] = (i * colorAngleStep + 180) % 360;
            colors[i] = Color.HSVToColor(hsv);
        }
        colors[colorCount] = colors[0];

        SweepGradient sweepGradient = new SweepGradient(width / 2,colorWheelPaint);

        return bitmap;

    }
项目:Upkeep    文件AmbilWarnaKotak.java   
@Override
protected void onDraw(final Canvas canvas) {
    super.onDraw(canvas);

    if (this.paint == null) {
        this.paint = new Paint();
        this.luar = new LinearGradient(0.f,0.f,this.ukuranUiPx,0xffffffff,0xff000000,TileMode.CLAMP);
    }

    this.tmp00[1] = this.tmp00[2] = 1.f;
    this.tmp00[0] = this.hue;
    int rgb = Color.HSVToColor(this.tmp00);

    this.dalam = new LinearGradient(0.f,rgb,TileMode.CLAMP);
    ComposeShader shader = new ComposeShader(this.luar,this.dalam,PorterDuff.Mode.MULTIPLY);

    this.paint.setShader(shader);

    canvas.drawRect(0.f,this.paint);
}
项目:CircleProgressView    文件CustomView.java   
@Override
public void onClick(final View v) {
    switch (new Random().nextInt(5)) {
        case 0:
            mPaint.setShader(sweepGradient);
            break;
        case 1:
            mPaint.setShader(linearGradient);
            break;
        case 2:
            mPaint.setShader(radialGradient);
            break;
        case 3:
            mPaint.setShader(bitmapShader1);
            break;
        case 4:
            final Shader composeShader = new ComposeShader(bitmapShader1,new BitmapShader(BitmapFactory.decodeResource(getResources(),R.drawable.ic_msg_unread),Shader.TileMode.REPEAT,Shader.TileMode.REPEAT),intToMode(new Random().nextInt(16)));
            mPaint.setShader(composeShader);
            break;
    }
    invalidate();
}
项目:BLE_ToolBox_Android    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:FingerColoring-Android    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:UofT-TiMetable    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:ToastUI    文件ColorPickerView.java   
private void drawSatValPanel(Canvas canvas) {
    RectF rect = this.mSatValRect;
    this.mBorderPaint.setColor(this.mBorderColor);
    canvas.drawRect(this.mDrawingRect.left,this.mDrawingRect.top,BORDER_WIDTH_PX + rect.right,BORDER_WIDTH_PX + rect.bottom,this.mBorderPaint);
    if (this.mValShader == null) {
        this.mValShader = new LinearGradient(rect.left,rect.top,rect.left,rect.bottom,-1,ViewCompat.MEASURED_STATE_MASK,TileMode.CLAMP);
    }
    this.mSatShader = new LinearGradient(rect.left,rect.right,Color.HSVToColor(new float[]{this.mHue,BORDER_WIDTH_PX,BORDER_WIDTH_PX}),TileMode.CLAMP);
    this.mSatValPaint.setShader(new ComposeShader(this.mValShader,this.mSatShader,Mode.MULTIPLY));
    canvas.drawRect(rect,this.mSatValPaint);
    Point p = satValToPoint(this.mSat,this.mVal);
    this.mSatValTrackerPaint.setColor(ViewCompat.MEASURED_STATE_MASK);
    canvas.drawCircle((float) p.x,(float) p.y,this.PALETTE_CIRCLE_TRACKER_RADIUS - (BORDER_WIDTH_PX * this.mDensity),this.mSatValTrackerPaint);
    this.mSatValTrackerPaint.setColor(0xffdddddd);
    canvas.drawCircle((float) p.x,this.PALETTE_CIRCLE_TRACKER_RADIUS,this.mSatValTrackerPaint);
}
项目:AyoSunny    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:Android-ColorPicker    文件ColorAreaPicker.java   
private void updateMainColors(int color) {
    if (baseColor == color) {
        return;
    }

    baseColor = color;

    Shader gradientShader = new LinearGradient(0.f,NUMBER_OF_GRADIENTS,baseColor,Shader.TileMode.CLAMP);
    ComposeShader shader = new ComposeShader(gradientShader,baseGradientShader,PorterDuff.Mode.MULTIPLY);
    gradientsPaint.setShader(shader);
    preRenderingCanvas
            .drawRect(0.f,gradientsPaint);
}
项目:Domo-Android    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:Domo-Android    文件multicolorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:WeatherStation    文件GaugeView.java   
/**
 * Set default outer rim paint
 *
 * @return paint
 *          Paint for outer rim
 */
private Paint getDefaultOuterRimPaint() {
    /** Linear gradient to create the 3D effect */
    final LinearGradient verticalGradient = new LinearGradient(mOuterRimRect.left,mOuterRimRect.top,mOuterRimRect.left,mOuterRimRect.bottom,Color.rgb(255,255,255),Color.rgb(84,90,100),TileMode.REPEAT);

    /** Bitmap for outer rim */
    final Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.darkwood);
    /** Bitmap shader for the Metallic style */
    final BitmapShader outerRimTile = new BitmapShader(bitmap,TileMode.REPEAT,TileMode.REPEAT);
    /** Matrix for outer rim */
    final Matrix matrix = new Matrix();
    matrix.setScale(1.0f / bitmap.getWidth(),1.0f / bitmap.getHeight());
    outerRimTile.setLocalMatrix(matrix);

    /** Paint for outer rim */
    final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    paint.setShader(new ComposeShader(verticalGradient,outerRimTile,PorterDuff.Mode.MULTIPLY));
    paint.setFilterBitmap(true);
    return paint;
}
项目:WeatherStation    文件GaugeView.java   
/**
 * Set default inner rim paint
 *
 * @return paint
 *          Paint for inner rim
 */
private Paint getDefaultInnerRimPaint() {
    /** Linear gradient to create the 3D effect */
    final LinearGradient verticalGradient = new LinearGradient(mOuterRimRect.left,TileMode.REPEAT);

    /** Bitmap for inner rim */
    final Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.darkerwood);
    /** Bitmap shader for the Metallic style */
    final BitmapShader innerRimTile = new BitmapShader(bitmap,TileMode.REPEAT);
    /** Matrix for inner rim */
    final Matrix matrix = new Matrix();
    matrix.setScale(1.0f / bitmap.getWidth(),1.0f / bitmap.getHeight());
    innerRimTile.setLocalMatrix(matrix);

    /** Paint for outer rim */
    final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    paint.setShader(new ComposeShader(verticalGradient,innerRimTile,PorterDuff.Mode.MULTIPLY));
    paint.setFilterBitmap(true);
    return paint;
}
项目:Mi-Band    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:reDalert-android    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:EspLight-APP    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:bmw-dash    文件GaugeView.java   
public Paint getDefaultOuterRimPaint() {
    // Use a linear gradient to create the 3D effect
    final LinearGradient verticalGradient = new LinearGradient(mOuterRimRect.left,TileMode.REPEAT);

    // Use a Bitmap shader for the Metallic style
    final Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.light_alu);
    final BitmapShader aluminiumTile = new BitmapShader(bitmap,TileMode.REPEAT);
    final Matrix matrix = new Matrix();
    matrix.setScale(1.0f / bitmap.getWidth(),1.0f / bitmap.getHeight());
    aluminiumTile.setLocalMatrix(matrix);

    final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    paint.setShader(new ComposeShader(verticalGradient,aluminiumTile,PorterDuff.Mode.MULTIPLY));
    paint.setFilterBitmap(true);
    return paint;
}
项目:ECU-Obd-Elm327-Bluetooth    文件GaugeRpm.java   
public Paint getDefaultOuterRimPaint() {
    // Use a linear gradient to create the 3D effect
    final LinearGradient verticalGradient = new LinearGradient(mOuterRimRect.left,PorterDuff.Mode.MULTIPLY));
    paint.setFilterBitmap(true);
    return paint;
}
项目:ECU-Obd-Elm327-Bluetooth    文件GaugeSpeed.java   
public Paint getDefaultOuterRimPaint() {
    // Use a linear gradient to create the 3D effect
    final LinearGradient verticalGradient = new LinearGradient(mOuterRimRect.left,PorterDuff.Mode.MULTIPLY));
    paint.setFilterBitmap(true);
    return paint;
}
项目:Obd-Elm327-Bluetooth    文件GaugeRpm.java   
public Paint getDefaultOuterRimPaint() {
    // Use a linear gradient to create the 3D effect
    final LinearGradient verticalGradient = new LinearGradient(mOuterRimRect.left,PorterDuff.Mode.MULTIPLY));
    paint.setFilterBitmap(true);
    return paint;
}
项目:Obd-Elm327-Bluetooth    文件GaugeSpeed.java   
public Paint getDefaultOuterRimPaint() {
    // Use a linear gradient to create the 3D effect
    final LinearGradient verticalGradient = new LinearGradient(mOuterRimRect.left,PorterDuff.Mode.MULTIPLY));
    paint.setFilterBitmap(true);
    return paint;
}
项目:ilearnrw-reader    文件ColorSquare.java   
@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    if(paint==null)
    {
        paint = new Paint();
        lg = new LinearGradient(0.0f,0.0f,this.getMeasuredHeight(),TileMode.CLAMP);
    }

    if(updateColor){
        int rgb = Color.HSVToColor(color);
        lg2 = new LinearGradient(0.0f,this.getMeasuredWidth(),TileMode.CLAMP);
        shader = new ComposeShader(lg,lg2,PorterDuff.Mode.MULTIPLY);
        updateColor = false;
    }

    paint.setShader(shader);
    canvas.drawRect(0.0f,paint);
}
项目:CEEHack    文件RoundCornersDrawable.java   
@Override
protected void onBoundsChange(Rect bounds) {
    super.onBoundsChange(bounds);
    mRect.set(mMargin,mMargin,bounds.width() - mMargin,bounds.height() - mMargin);

    if (USE_VIGNETTE) {
        RadialGradient vignette = new RadialGradient(
                mRect.centerX(),mRect.centerY() * 1.0f / 0.7f,mRect.centerX() * 1.3f,new int[] { 0,0x7f000000 },new float[] { 0.0f,0.7f,1.0f },Shader.TileMode.CLAMP);

        Matrix oval = new Matrix();
        oval.setScale(1.0f,0.7f);
        vignette.setLocalMatrix(oval);

        mPaint.setShader(
                new ComposeShader(mBitmapShader,vignette,PorterDuff.Mode.SRC_OVER));
    }
}
项目:MWord    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:MWord    文件multicolorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:BluetoothBacon    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:BluetoothBacon    文件multicolorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:the-blue-alliance-android    文件NavigationDrawerFragment.java   
@Override
public Bitmap transform(Bitmap source) {
    Bitmap outBitmap = Bitmap.createBitmap(source.getWidth(),source.getHeight(),source.getConfig());

    // Create shaders
    Shader bitmapShader = new BitmapShader(source,Shader.TileMode.CLAMP);
    Shader linearGradient = new LinearGradient(0,source.getHeight() / 2,Color.TRANSPARENT,0xB4000000,Shader.TileMode.CLAMP);

    // create a shader that combines both effects
    ComposeShader shader = new ComposeShader(bitmapShader,linearGradient,PorterDuff.Mode.DST_OUT);

    Paint p = new Paint();
    p.setAntiAlias(true);
    p.setShader(shader);

    Paint black = new Paint();
    black.setColor(Color.BLACK);

    Canvas c = new Canvas(outBitmap);
    c.drawRect(0,source.getWidth(),black);
    c.drawPaint(p);
    source.recycle();
    return outBitmap;
}
项目:Android-Color-Picker    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:Android-Color-Picker    文件multicolorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }
项目:GlowNotifier    文件ColorPicker.java   
private Bitmap createColorWheelBitmap(int width,colorWheelPaint);

        return bitmap;

    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。