I need a camera function on my App. This is what I need:
(From barcode-scanner but I need something for making pictures)
I need a transparency margin. Now when I would press "shot photo" I need exactly this:
Someone know a tool like that?
Thanky in advance.
You're going to have to map that out yourself and crop the bitmap.
You can draw the boundaries of the transparency window on the Canvas of the FrameLayout your camera's view.
From there, you grab the position of the transparency window in relation to the screen and then use those boundaries to cut out the desired area from the bitmap returned by the camera.
Related
I have back side TouchImageview, which having zoom in/out functionality, I am setting up bitmap on ImageView, the size of Bitmap is w-h (2100 x 2900), I have particular X-Y co-ordinate, now I want to add Overlay view at same co-ordinate as per imageview's X-Y co-ordinate, the background imageview should be touchable.
Can you please let me know solution for the same.
Thank you.
I'm an iOS developer, but can be answer to your question, as I'm sure that these things are also possible in Android ! ;)
You can follow these steps:
Don’t make any change in your current flow.
Add overlay view the way you want.
Take screenshot of the back image view which are showing location, may be of particular size (or the exact size of circle on overlay).
Show that captured screenshot (image) at circle view position (you can have an another image view for that).
Zoom that image view (From Step.4)
You are done!
Goodluck.
is there any way to blur only part of an image in android?
searched a lot but dint find any help.
most of the examples use gaussian blur which blurs full imageview.
i want to allow user to dynamically draw rectangle on imageview & on action up
area within rectangle should be blured.
any help will be really appreciated.
Bluring images on the fly is not an easy task, ask Roman Nurik (The one behind Muzei app)
He gave useful tips on this Google+ post but it's for animated images, from focus to blur.
In your case, I would say that you need to (roughly):
Get the bounds of the drawn rectangle
Get the image part that corresponds to the previous bounds
Blur on the fly the previous image part
Draw, into the same canvas, the blurred image part on top of the original image
Set up a onDrag Listener to move the drawn rectangle and do again step 1
EDIT: After re-thinking about it, computing and draw a blurred area each time the drawn rectangle move it too heavy, it won't work. The solution is probably this:
Blur the entire image and keep it into memory
Get the bounds of the drawn rectangle
Get the part of the blurred image that corresponds to the previous bounds
Draw, into the same canvas, the blurred image part on top of the original image
Set up a onDrag Listener to move the drawn rectangle to do again step 2-3-4
put the image view in a relative layout.
you detect the touch events of the user.
for each rectangle that he is drawing, you add an image view of it is size superposed to the initial one (I mean in the same relative layout) and of course with your blur effect.
you will see your image view blured part by part ...
put another layout on the half part of the image and set a translucent type background to the layout.
Once you have drawn your rectangle set alpha = 0.5 or as per your need so that your dynamic view that you have drawn will look blurred.
This is code for blur:
http://shaikhhamadali.blogspot.in/2013/07/gaussian-blur-imagebitmap-in-imageview.html
In this code computeConvolution3x3 method is used for computing the blur.For computing blur it convert the bitmap in to pixel array then it apply on those pixel. So you have to just do is get pixels array of that part of the image that you want blur.
I need some activity with image cropping, but without getting crop image, just need coordinates angles of rectangle area on image which i can move and resize. How i can make this or where i can find such library with this functional? Sorry for my bad English.
For your purpose you better to use Android Canvas. When you touch a particular point you can get details of that point using 'OnTouch'(http://developer.android.com/reference/android/view/View.OnTouchListener.html) method in android.
I'm currently working on an app where people can place objects in a SurfaceView -- images etc and they can resize it and things like that. Now i have a use case where someone can place in a frame like image -- lets say its a square image with the center as transparent. Now they can set an image that can go inside this frame and will be restricted to the bounds of that frame only and from there they can resize it as they will. Anyone does an implementation like this? Note that this is different from when a frame is full screen, that is easy to do. See my sample below:
The green is the main background area of the SurfaceView, he added the maroon/red frame, now he sets the picture to go in the frame (this is all within the same surface). The main difference this time around is that when he resize/move the image here, it should be bounded by the red frame ( he wont see it overlap outside like in the picture below). Anyone have experience how to do this on Android.?
Use the clipRect() method of the Canvas. You can supply it with a rectangle specifying your frame before you draw the image to be framed. Something like this should work:
First when moving the frame you need to have a corresponding Rect:
myRect.set(frameleft, frametop, frameright, framebottom);
And in your onDraw() you clip the picture with this rectangle:
canvas.save(Canvas.CLIP_SAVE_FLAG);
canvas.clipRect(pictureRect);
canvas.drawBitmap(/*your drawing parameters for the image*/);
canvas.restore(); //Restore to drawing the entire canvas
in my application I want to have a frame (with a hole in the middle) and an image under it. I want to be able to drag and zoom the image to fit (the face in the picture) it in the frame. Then Crop the image (could I find the pixel x,y that are in the border of the screen?) and then save the zoomed image so that I can put the frame over it then.
Any suggestions? If possible please tell me the classes I will have to use.
Thanks!!
It is possible to do all the functionalities (What you have discussed above) using Android View class with onDraw method and canvas Object.
Refer the link:
http://developer.android.com/reference/android/graphics/Canvas.html