Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to handle stickers with resize and rotate functionality? [closed]

I am currently developing an application which will allow user to add stickers (hat, hairs, spectacles etc) on image. User can resize that sticker or can rotate that and move also. See image.

enter image description here

I have stickers, but how can I put them on original image and move/rotate/enlarge them to adjust on original image?

like image 773
Chintan Rathod Avatar asked Mar 18 '13 11:03

Chintan Rathod


4 Answers

You can check the below link for stickerView

  1. https://github.com/nimengbo/StickerView
  2. https://github.com/kencheung4/android-StickerView
  3. https://github.com/uptechteam/MotionViews-Android
  4. https://github.com/wuapnjie/StickerView
  5. https://github.com/sangmingming/StickerView
  6. https://github.com/niravkalola/Android-StickerView
  7. https://github.com/Kaka252/StickerView
  8. https://github.com/yovenny/StickerView
like image 60
Rezaul Karim Avatar answered Nov 04 '22 04:11

Rezaul Karim


I found a good result at http://code.google.com/p/android-multitouch-controller/. Which handles 3 in 1 facility. On Multi-Touch, you can pan your image, you can scale your image and at the same time you can also rotate your image. And you can add number of stickers as you want.

like image 10
Chintan Rathod Avatar answered Nov 04 '22 04:11

Chintan Rathod


To enlarge/reduce an image, you can try the following code:

yourImageView.setLayoutParams(new GridView.LayoutParams(newWidthImage, newHeightImage));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

Hope this help.

like image 1
Damien R. Avatar answered Nov 04 '22 04:11

Damien R.


First step : Download this link Lib. https://github.com/nimengbo/StickerView

Second : (StickerView,BubblePropertyModel,StickerPropertryModel.java in this three file paste your project).

Third step : Below Code Past your MainActivity File:

Note: mainlayout is (Relativelayout object)

 final StickerView stickerView21 = new StickerView(this);
            stickerView21.setImageResource(R.drawable.fall_9);

            stickerView21.setOperationListener(new  StickerView.OperationListener() {
                @Override
                public void onDeleteClick() {
                    mViews.remove(stickerView21);
                    mainLayout.removeView(stickerView21);
                }

                @Override
                public void onEdit(StickerView stickerView)
                {

                }

                @Override
                public void onTop(StickerView stickerView) {
                    int position = mViews.indexOf(stickerView);
                    if (position == mViews.size() - 1) {
                        return;
                    }
                    StickerView stickerTemp = (StickerView) mViews.remove(position);

                    mViews.add(mViews.size(), stickerTemp);
                }
            });


            RelativeLayout.LayoutParams l11= new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
            mainLayout.addView(stickerView21, l11);
            mViews.add(stickerView21);
like image 1
Ramani Hitesh Avatar answered Nov 04 '22 03:11

Ramani Hitesh