Android :: How To Draw Overlay On Surface View Used By Camera?
May 29, 2010
I have a simple program that draws the preview of the Camera into a SurfaceView. What I'm trying to do is using the onPreviewFrame method, which is invoked each time a new frame is drawn into the SurfaceView, in order to execute the invalidate method which is supposed to invoke the onDraw method. In fact, the onDraw method is being invoked, but nothing there is being printed (I guess the camera preview is overwriting the text I'm trying to draw).
This is a simplify version of the SurfaceView subclass I have:
public class Superficie extends SurfaceView implements SurfaceHolder.Callback {
SurfaceHolder mHolder; public Camera camera; Superficie(Context context) { super(context);
mHolder = getHolder(); mHolder.addCallback(this); mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
} public void surfaceCreated(final SurfaceHolder holder) { camera = Camera.open();
try { camera.setPreviewDisplay(holder); camera.setPreviewCallback(new PreviewCallback() {
public void onPreviewFrame(byte[] data, Camera arg1) { invalidar();
} } ); } catch (IOException e) {} } public void invalidar(){ invalidate(); }
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
Camera.Parameters parameters = camera.getParameters(); parameters.setPreviewSize(w, h);
camera.setParameters(parameters); camera.startPreview(); }
@Override public void draw(Canvas canvas) { super.draw(canvas);
// nothing gets drawn :( Paint p = new Paint(Color.RED);
canvas.drawText("PREVIEW", canvas.getWidth() / 2, canvas.getHeight() / 2, p);
} }
View 1 Replies
Aug 23, 2010
I have a SurfaceView that is being used to draw images, and I would like to overlay them onto a live-feed from the phone's camera. Currently, the SurfaceView that contains the images have a white-background, but if I were to overlay them onto the phone's camera feed, they would have to be transparent. The camera and animation drawing cannot be done on the same SurfaceView. What is the best course to pursue the use of multiple views that involve managing the camera and drawing images? Is it possible to make a SurfaceView transparent?
View 4 Replies
View Related
Aug 23, 2010
I have a SurfaceView that is being used to draw custom animations and I would like to overlay them onto a live-feed from the phone's camera. Currently, the SurfaceView that contains the animations has a white- background, but if I were to overlay them onto the phone's camera feed, they would have to be transparent. The camera and animation drawing cannot be done on the same SurfaceView. Is it possible to make a SurfaceView transparent? What is the best course to pursue the use of multiple views? My end goal is to essentially overlay the contents of another SurfaceView onto the Camera SurfaceView.
View 2 Replies
View Related
Jul 6, 2010
My objective is to run a glowing animation on an image.I am changing the image alpha to produce this effect.
I have used basic AlphaAnimation provided in android framework but found that its slowing down other animations. So i extended a class from SurfaceView and created a thread to update it. ( Again here, i am manipulating alpha of the image ).
Everything seems fine, except that i am not able to draw a transparent image onto SurfaceView.Its showing black color on the transparent areas of the bitmap.code...
View 1 Replies
View Related
Jan 22, 2009
How do I create blur surface from android.view.Surface?
View 2 Replies
View Related
Nov 12, 2009
I've been trying almost everything and been searching and reading everywhere on the net. I just can't seem to find the correct way of doing this.
I have a MapActivity with a MapView and I want to draw something on an Overlay. I'm overwriting the draw-method, and I can easily draw straight on the canvas using a paint. My problem is I want to merge some circles and afterwards color them. Therefore I want to create a Bitmap and then draw on that. I just don't know what to use. Should I use a mutable Bitmap, a BitmapDrawable or am I simply going in the wrong direction.
The reason I want to do this is because I want to draw some kind of heatmap upon the Google Maps, and I need to merge and blend different circles, so they appear to be just one big blob.
View 6 Replies
View Related
Aug 29, 2009
I am trying to add an image on surface view. I have coded...
View 5 Replies
View Related
Jul 19, 2009
I have openGL layered on top of camera view by using the 'workaround' specified at-http://groups.google.com/group/android-beginners/browse_thread/thread... and it works great.
However, has been mentioned before that surfaceviews were not designed to be layered ontop of each other- [url]
As you can notice in the code snippet thats mentioned in the first thread, to get openGL working on top of camera we are first setting the contentView to be the openGL view and then adding the camera (on top of it) instead of the other way around as one would expect it. I am assuming there's something strange going on in here as it has also been mentioned that Z-order is not supported on surface views- [url]
Now my question is will all devices have this behavior? Can I use this behavior in my app to get openGL layered on top of camera preview? Please answer this query, its so cool to have openGL over the camera preview! It opens up for some amazing stuff!
View 2 Replies
View Related
Sep 20, 2010
I am using android.hardware.Camera to get a preview and display it on a custom SurfaceView that implements SurfaceHolder.Callback.
I am trying to zoom in to the camera preview surface by a specified scale (not using the camera's digital zoom) but I can't seem to find a correct way to do it. I also need to be able to zoom out and scale down the preview.
I was hoping to be able to do this using a ScaleAnimation but it doesn't seem to work on SurfaceView, nor the FrameLayout containing the SurfaceView.
I also tried setting the size of the SurfaceView using setLayoutParams but that doesn't seem to work too well on various hardware and it would be tough to animate smoothly.
How to achieve this effect? Right now I am starting to think I might have to implement this using GLSurfaceView but I'm very unsure.
View 2 Replies
View Related
Sep 24, 2010
I want to put button above image view. How can i do this?
View 2 Replies
View Related
Aug 7, 2010
I've read several example programs and tutorials to try and solve my problem but they all seem to go the same way. I've used a couple Activities and xml documents to create a menu that loads when my game starts.When the user clicks the "Start The Game" button, it loads a new Activity that sets the view with my game thread and all of the game properties.I know this activity works because I've run it alone as its own project, but every way I've tried to start it after the Menu,I get a nullPointerException and it force closes.I read the SurfaceViewOverlay tutorial and attempted to use that implementation, but I'm using a SurfaceView, not a GLSurfaceView.I'm debating rewriting my entire program to use OpenGL but I figured I would see if anyone else knows what I'm doing wrong here.If you need the code snippets I can paste some here, but it's not really the specific code that's wrong.
View 1 Replies
View Related
Nov 11, 2010
I want to change the size of surface view at run time when it is changed to Landscape Mode?
View 1 Replies
View Related
May 3, 2010
I'm trying to render a 640x480 RGB565 image using OpenGL ES on Android using GLSurfaceView and Native C code. Initially I had a 0x0501 error with glTexImage2D, which I was able to resolve by changing the image dimensions. But now, in the "drawFrame" call, when I do glDrawTexiOES to resnder the texture, I'm getting the following error on the Logs: drawtex.c:89: DrawTexture: No textures enabled I'm already doing glEnable(GL_TEXTURE_2D), is there anything else I should do? Is there a complete example showing GLSurfaceView with native code using textures?
View 4 Replies
View Related
Apr 1, 2009
I have an Activity that was created based on the TriangleRenderer example. It works flawlessly as a standalone project, but when I use it as the tab of a tabhost there is a problem. At startup the whole activity is just black - I can get touch events and do everything else but it doesnt show anything. When I change the orientation (and therefore recreate the activity) it all works well. Maybe the problem comes from the View focus. My SurfaceView is not focused when created inside of the tabhost. I tried to fiddle around with the methods available in my onCreate() and onPostCreate(), but couldnt find a way to get the SurfaceView focused. The following sourcecode blocks in the guardedRun() method because needToWait() is true because !mHasFocus is true. If I exclude the ! mHasFocus, it goes on but shows a black View anyways. Do you have any idea why it does work after orientation change, but not at the first startup? The Activity looks quite simple.
View 2 Replies
View Related
Aug 7, 2010
I've read several example programs and tutorials to try and solve my problem but they all seem to go the same way.I've used a couple Activities and xml documents to create a menu that loads when my game starts. When the user clicks the "Start The Game" button, it loads a new Activity that sets the view with my game thread and all of the game properties.I know this activity works because I've run it alone as its own project, but every way I've tried to start it after the Menu, I get a nullPointerException and it force closes.I read the SurfaceViewOverlay tutorial and attempted to use that implementation, but I'm using a SurfaceView, not a GLSurfaceView. I'm debating rewriting my entire program to use OpenGL but I figured I would see if anyone else knows what I'm doing wrong here.If you need the code snippets I can paste some here, but it's not really the specific code that's wrong, I think it's the way I'm using(abusing) the language.
View 1 Replies
View Related
Oct 9, 2010
Do you put your EVO with the screen face up or down on a desk/surface? I put mine with the screen face up, but will this affect the camera lens on the back?
View 11 Replies
View Related
Oct 8, 2009
I have two questions actually:
Is it better to draw an image on a bitmap or create a bitmap as resource and then draw it over a bitmap? Performance wise... which one is better?
If I want to draw something transparent over a bitmap, how would I go about doing it?
If I want to overlay one transparent bitmap over another, how would I do it?
View 1 Replies
View Related
Feb 23, 2010
I spend two weeks now trying to get this working with no success. Here is what I want to do: I have several geo points around the user and his phone. I want to display this point overlaying them on the input from the camera (kind of standard AR (Augmented Reality) app). Part of my requirements are that the user can use the phone in either landscape or portrait mode.My plan was like this.
1. Register for Sensor.TYPE_ACCELEROMETER, Sensor.TYPE_MAGNETIC_FIELD 2. Pass the result to Sensor Manager.getRotationMatrix(), getting back the R matrix that should be telling me how to translate points from the Phone coordinate system (defined here: http://developer.android.com/reference/android/hardware/SensorEvent.html) to World coordinate system (x -> East, y -> North, z -> Sky) 3. I want to translate points from World to Phone so I take the inverse of R (I'm using Matrix.invertM()) to get R_In 4. Using the GPS I translate the geo points I want to display on the camera to points in the World coordinate system and then I run them through the R_In matrix to get their coordinates in the Phone system. 5. Draw the points in the screen only if the have (phone coordinates) z < 0 and x and y such that they are visible. This is my grand plan... however I have problems quite early (2). I do get the R matrix back and it looks good when I align the phone to the world coordinate system ( I get the identity matrix ). However when I try to translate an imaginary point from the Phone coordinate system say (0, 1, 0) to the World coordinate system I don't get the numbers I expect.
View 2 Replies
View Related
Jan 30, 2009
Does someone know how I can overlay an image over the camera preview?
View 6 Replies
View Related
Aug 10, 2010
I'm passing a bitmap through a bundle to an activity which I called cameraView on which the user has access to the camera of the device. I'd like to overlay that bitmap with transparency using the camera as the background. Is it possible? to put the bitmap in front of the camera? And how can I change the transparency level? Here is my code: This is the camview.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical">
<SurfaceView android:id="@+id/surface_camera" android:layout_width="fill_parent"
android:layout_height="10dip" android:layout_weight="1"> </SurfaceView> </RelativeLayout>
And this is the java:
public class cameraView extends Activity implements SurfaceHolder.Callback{
SurfaceView mSurfaceView; SurfaceHolder mSurfaceHolder;
Camera mCamera; boolean mPreviewRunning=false; private Context mContext = this;
public void onCreate(Bundle icicle) { super.onCreate(icicle);
setContentView(R.layout.camview); Bundle f = getIntent().getExtras();
picture = f.getParcelable("bitmap"); mSurfaceView = (SurfaceView) findViewById(R.id.surface_camera); mSurfaceHolder = mSurfaceView.getHolder();
mSurfaceHolder.addCallback(this); mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
} @Override // Create the Surface and Open the Camera
public void surfaceCreated(SurfaceHolder holder) { mCamera = Camera.open();
} @Override // Reacts for camera changes public void surfaceChanged(SurfaceHolder holder,
int format, int w,int h) { if (mPreviewRunning) { mCamera.stopPreview();
} Camera.Parameters p = mCamera.getParameters(); p.setPreviewSize(w, h);
mCamera.setParameters(p); try { mCamera.setPreviewDisplay(holder);
} catch (IOException e) { e.printStackTrace();
} mCamera.startPreview(); mPreviewRunning = true;
} @Override // When the camera is closed
public void surfaceDestroyed(SurfaceHolder holder) { mCamera.stopPreview();
mPreviewRunning = false; mCamera.release(); }
// When the picure is taken. This method gives the byte[] of the picture
Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() {
public void onPictureTaken(byte[] imageData, Camera c) {
} };
View 3 Replies
View Related
Jul 12, 2010
I'm a bit new to Android but after searching on the Market, the web and this forum, I can't seem to find anything like this but I feel like it has to exist (or hopefully will soon). I'm looking for a camera application that can place the current compass direction on the image (and stamp the saved image with the direction). The tilt of the phone would be cool to have, too, but just the compass would be great. I did find an application that shows the compass direction on over top of a feed from the camera ("Reality + Compass" by Udell Enterprises).
I want something just like this, but with the ability to save the image. In case you're wondering, I'd like to use this for bettering the storm spotting community. A problem when people send in images of clouds/storms/tornadoes/etc is that you never know (1) where the picture was taken and (2) in what direction. Ideally GPS location could be added, too, but for now I just want the compass. (Other image services can handle the location part fine, like Twitter for Android/Twitpic.)
(I'm on the HTC Aria, but I can sideload apps now thanks to the new version of HTC Sync.)
View 5 Replies
View Related
Dec 27, 2009
How do I write code which layouts UI elements (Buttons, etc) over camera preview on Android ?
View 2 Replies
View Related
Oct 5, 2010
I am working on video renderer application which need surface and control of surface. And through isurface i can register heap buffer to that surface and post buffer operation. I have gone through android_view_surface.cpp file. It is having all required APIs which are helpful for my application. But i don't know how can i implement it. What are the procedures to get access of those APIs.
View 2 Replies
View Related
Jul 16, 2009
If I have a reference to a view, how can I overlay an icon image on top of an exisiting view?
In the screenshot below:
http://android.kanokgems.com/sms-unread-count
It overlay an icon at the top right corner of the dialer icon. How can I do that?
View 2 Replies
View Related
Mar 29, 2010
I'm just getting started with developing for Android. I'm looking to port one of my iPhone applications, but I'm kind of at a loss for how to draw a view at runtime (a view not declared in the XML). Basically, I want to draw a simple rectangle, but then be able to manipulate its frame after being drawn. Sorry if this is a really, really simple question, but I can't seem to find some equivalent to the iPhone SDK here.
View 1 Replies
View Related
Jan 8, 2010
I am creating a android app using LunarLander as a example.Now I need to create a few buttons which are drawn over the view.I do not want them as a seperate layout above or below the view but in the custom view.Is this possible or am I going to have to programmatically show the button images then detect the touch. The buttons I create using new never show on the app. I assume this is because I have overwritten the onDraw and the buttons are never drawn even though I call.
View 3 Replies
View Related
Aug 9, 2010
How do I draw a view on top of image. There is a predefined android xml file and when I run the application I would like to bring up a dot or a square on the top of image. Here the image already shows up from pulling information from andrid res folder , how to draw an dot over it.
View 2 Replies
View Related
Jun 21, 2010
I have a class which extends a View and I'm drawing few images in the canvas. and i want to draw two buttons as well. could someone tell me how to do this? code...
View 3 Replies
View Related
Mar 4, 2010
Let consider this is my tile view (which is a bitmap):
0 0 0 0 0 0 0 0 0
First, I have change the view to
1 0 0 0 0 0 0 0 0
Second, I would like to change the middle one, and I expect the result is 1 0 0 0 1 0 0 0 0
However, the view give the result: 0 0 0 0 1 0 0 0 0
Is there any method that I can draw the particular part but now the whole view? code...
View 3 Replies
View Related
Dec 2, 2009
Between each row in list view, android draw a horizontal line (fades away at both ends). If I have a LinearLayout view, how can i add a border like that?
View 4 Replies
View Related