Skip to content Skip to sidebar Skip to footer

Use Renderscript To Emboss A Shape In Android

This question is base on link. I tried out @miloslaw-smyk answer. However I could not get it to work. I am not sure what createPath(1) means. I am not sure how to create a path wit

Solution 1:

Can you try with my version of createPath()? I modified it slightly to draw larger puzzle and to accept stroke width as an argument.

public void createPath(int strokeWidth)
{
    //path 2 Big one
    Point[]araay = new Point[]{new Point(144,320),new Point(109,200), new Point(171,308),new Point(178,240),new Point(171,172),new Point(109,282),new Point(144,160)};
    Point[]braay = new Point[araay.length];

    int idx = 6;
    for(Point p : araay)
        braay[idx--] = new Point((200 + p.x), p.y);

    path2.moveTo(144,320);
    AddBeziers(path2, araay, 320, 144);
    AddLine(path2, 216, 144);
    AddBeziers(path2, braay, 320, 144);
    AddLine(path2, 144, 320);
    path2.close();

    Matrix m = new Matrix();
    m.setScale(2, 2);

    path2.transform(m);

    MaskFilter mEmboss = new EmbossMaskFilter(new float[] { 1, 1, 1 }, 0.4f, 6,   3.5f);
    fillPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
    fillPaint.setColor(Color.WHITE);
    fillPaint.setFlags(Paint.ANTI_ALIAS_FLAG | Paint.DITHER_FLAG);
    fillPaint.setAntiAlias(true);
    fillPaint.setDither(true);
    fillPaint.setStrokeJoin(Paint.Join.ROUND);
    fillPaint.setStrokeCap(Paint.Cap.ROUND);
    fillPaint.setStrokeWidth(strokeWidth);
    fillPaint.setStyle(Paint.Style.FILL_AND_STROKE);
    fillPaint.setStrokeMiter(0);
}

Post a Comment for "Use Renderscript To Emboss A Shape In Android"