I'm trying to put a png to SurfaceHolder for my live wallpaper.
BitmapFactory.decodeResource
Bitmap.createBitmap
SurfaceHolder.lockCanvas
Canvas.drawBitmap
SurfaceHolder.unlockCanvasAndPost
This isn't working. Do I need to get my resources before decoding?
Related
I understand pretty well how to create a resource image to draw onto the screen, but lets say I wanted to create a live wallpaper application that required a sequence of images (PNGs of course)...
Can someone tell me if this is going to be mega CPU intensive at all?
So I'm trying out making a live wallpaper and I'm using the sample code provided in the SDK for the cube live wallpaper
I wanted to use this code to get the height/width of the display
Code:
@Override
public void onCreate(SurfaceHolder surfaceHolder) {
super.onCreate(surfaceHolder);
Rect frame = getSurfaceHolder().getSurfaceFrame();
float width = frame.width();
float height = frame.height();
// By default, we don't get touch events, so enable them.
setTouchEventsEnabled(true);
}
and if you're wondering about the context of the code, just look at this sample
Unfortunately, when I run this code, the width and height return as 0, though if I put this in onVisibilityChanged, the correct values are returned, why is this and where should I put it?
Also, when I do get the display width/height, it includes the real estate behind the notification bar as well. Is there a way I can get the width/height area of everything excluding the notification bar?
how do I create a bitmap from a png image?
This turns a png into a bitmap:
Bitmap bmp = BitmapFactory.decodeResource(activity.getResources(), R.drawable.myPNGimage);
I think your other post asked about drawing images onto the screen. To do this, you need an object that you want to "draw onto".
So in this example, lets say you want to draw "bmp" onto "backgroundBmp". (Pretend "backgroundBmp" is a 400x400 pixel image)
Canvas canvas = new Canvas(backgroundBmp); // This creates a canvas to work with, thats the size of backgroundBmp (400x400)
Now I can draw a bitmap onto it, by doing:
canvas.drawBitmap(bmp, x, y, null); // This draws bmp at (x,y) coordinates on the canvas.
Take a look at the Lunar Lander and Jet Boy sample applications at developer.android.com.
I have a ImageView with a bitmap on on top of a FrameLayout. To get this bitmap I converted a png w/ transparent background to bitmap. So all the transparency turned into black. How do i set that black to be transparant.
Thankyou
could you be more specific to help you. i can't get your question probably please bare with me. thanks
Only by not using a bitmap. Why did you convert the png (that supports transparency) to a bitmap (that doesn't support transparency) anyway?
Hey guys good days
I just want to ask maybe this is off topic but i just can apply the code provided by devs without understanding what the mean of it.
So i want to know where do you guys learn it ?
Example what is image view, frame layout, linear layout and so on.
If you learn it from book, can i know the title of it ?
TIA
Try
http://developer.android.com/reference/packages.html
http://developer.android.com/reference/android/widget/LinearLayout.html
and specially
http://forum.xda-developers.com/coding/education
ImageView = its imageview the one that containing image like a pictureFrame.
LinearLayout = its a linearLayout. For example you want to put imageView inside a LinearLayout
its like putting a pictureFrame in a wall.
LinearLayout Orientation = vertical - make the child vertically arrange.
for example you have three picture frames in a wall and you add androidrientation="vertical" the picture frame will be aligned verticaly same with androidrientation="horizontal" this will arrange the child horizontally.
FrameLayout = like LinearLayout but this layout makes you put Layout in top of other Layout.
:good::good::good::fingers-crossed::fingers-crossed::fingers-crossed::good::good::good: