Search code examples
androidframesimage-editing

How to add custom frames to images programmatically


I want to create an app where i need to add frames to the images.i don't have any idea regrading this.i got one link where the frames are added to the images.could anybody help me.

Here is the link

@Thanks in Advance!!


Solution

  • Edit: Gallery OnItemClickListener

    gallery.setOnItemClickListener(new OnItemClickListener() {
            Bitmap frame = null, out = null;
    
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
               Bitmap urImage = BitmapFactory.decodeResource(getResources(),
                        R.drawable.urBackgroundImageID);//edit
                frame = BitmapFactory.decodeResource(getResources(),
                        frames[arg2]);
                out = combineImages(frame, urImage);
                imageView.setImageBitmap(out); //add "out" for ur ImageView
            }
        });
    

    frames[] is array of drawables ie different frames

    The following method will combine two images dynamically

    public Bitmap combineImages(Bitmap frame, Bitmap image) {
    
        Bitmap cs = null;
        Bitmap rs = null;
    
        rs = Bitmap.createScaledBitmap(frame, image.getWidth(),
                image.getHeight(), true);
    
        cs = Bitmap.createBitmap(rs.getWidth(), rs.getHeight(),
                Bitmap.Config.RGB_565);
    
        Canvas comboImage = new Canvas(cs);
    
        comboImage.drawBitmap(image, 0, 0, null);
        comboImage.drawBitmap(rs, 0, 0, null);
    
        if (rs != null) {
            rs.recycle();
            rs = null;
        }
        Runtime.getRuntime().gc();
    
        return cs;
    }
    

    You can try different integer values in

    comboImage.drawBitmap(image, 0, 0, null);
    comboImage.drawBitmap(rs, 0, 0, null);
    

    where I have put 0 to get needed frame position on the image.