I want to add canvas (somewhat transparent in color) on background which has some image on its Ontouch event. I want to remove that transparent color of canvas which makes my background image clear.
I'm using:
paint.setColor(Color.TRANSPARENT);
but nothing is happening on canvas. Any help would be greatly appreciated.
i have added transparent canvas on background...which makes my image above:
and ontouch resultant should be like this:
Related
I have a SVG path and Paint to draw path on canvas and I used
canvas.drawPath(path.getSvgPath(), path.getSvgFillPaint()); it is work properly and now I want to add animation when fill path with given Paint. loke Happy Color App Happy Color
if you have a any idea please reply this.
thank you
Use a timer or thread or Animate class to change what path.getSvgFillPaint's fillOpacity gradually down to 0.
Every time when the fillOpacity changes, call View's postInvalidate to redraw the canvas, you will see it fade out gradually.
The goal is to draw some hexagons on the screen and set different background images for those hexagons (I'm making a broad game). I have read about the Shape in XML file, but i want to draw it programmatically. I have drawn a shape with the help of canvas like this:
Path hexPath = hex.getPath();
canvas.clipPath(hexPath);
canvas.drawColor(Color.RED);
how can i set up the background image for this shape ?
I also have read about cropping a Bitmap, but is not practical for me.
Thanks.
I have a custom view wich contain some bitmaps and I want to set shadows for them, for that, I use this code:
shadowPaints=new Paint(Paint.ANTI_ALIAS_FLAG);
shadowPaints.setShadowLayer(10.0f, 3.0f, 2.0f, Color.BLACK);
canvas.drawBitmap(bmp, matrix, shadowPaints);
setLayerType(LAYER_TYPE_SOFTWARE, shadowPaints);
and my result is
as you can see my shadow actually is another bitmap with different x and y position but what I want is my shadow be a solid color
bitmap.
can anyone help me about this?
setShadowLayer is actually meant for putting shadows on text.
If you already know the bitmap you want to draw, you can just add a shadow in PhotoShop and draw the bitmap and shadow all at once.
If you don't want to do that, you could make a shadow by making a copy of the image, using a PorterDuff filter to make it all grey, use Renderscript to blur the image, and draw it on the canvas at an x,y offset before drawing the actual image on top of it.
Personally, I think PhotoShop is a lot easier.
Good Morning,
I have an ImageView that I initialized with #99aaaaaa color (it corresponds to 153,170, 170,170). after that I draw some lines with different colors. and Now I want to Fill my Canvas with the original color (#99aaaaaa).
The method myCanvas.drawColor(OriginalColor) fills the canvas with OriginalColor, but the lines still visible
myPaint.setColor(OriginalColor);
myPaint.setStyle(Paint.Style.FILL);
myCanvas.drawRect(0, 0, 170, 170, myPaint); // my ImageView is 170X170
Also let lines visible.
Any help please, Thank You
as the canvas original color is semi transparent, then you draw something on it and draw another layer of semi transparent stuff, then its pretty obvious youll see the level-down-layer through the top transparent layer isnt it? another words, if you place a half transparent glass on your knees, ull still see the knees through it
Set the transfer mode as follows, before calling drawRec():
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC));
Reset the painter afterwards, for further drawing:
paint.setXfermode(null);
paint.setColor(0xFFFFFFFF);
It seems to be a very trivial thing, but I am not able to find a sample code for it.
I am trying to do a very simple thing. On a canvas I plan to draw a round rect and save that in a drawable which I can then set as a background of a button.
Now I am looking for 2 things, how to draw and create a round rect so that the transparency effect can be created (like in a png drawable)
Second how to save the canvas to an image.
Please help
Please try to use this code.
Bitmap bitmap=BitmapFactory.decodeResource(getResources(),R.color.transparant);
canvas.drawBitmap(bitmap, matrix, paint);