如何通过调整大小和旋转功能来处理贴纸? [关闭]

问题描述 投票:18回答:5

我目前正在开发一个应用程序,允许用户在图像上添加贴纸(帽子,头发,眼镜等)。用户可以调整该贴纸的大小,也可以旋转它并移动。见图。

我有贴纸,但是如何将它们放在原始图像上并移动/旋转/放大它们以调整原始图像?

android rotation pinchzoom image-editing
5个回答

10
投票

我在http://code.google.com/p/android-multitouch-controller/找到了一个好成绩。它处理3合1设施。在Multi-Touch上,您可以平移图像,可以缩放图像,同时还可以旋转图像。您可以根据需要添加多个贴纸。


1
投票

要放大/缩小图像,您可以尝试以下代码:

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

希望这有帮助。


1
投票

第一步:下载此链接Lib。 https://github.com/nimengbo/StickerView

第二:( StickerView,BubblePropertyModel,StickerPropertryModel.java在这三个文件中粘贴你的项目)。

第三步:代码过去您的MainActivity文件:

注意:mainlayout是(Relativelayout对象)

 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);

0
投票

查看他们尝试实现在箭头单击上拉伸图像并删除它的功能的blogspot,还可以使用手势在屏幕上移动图像。

拖放图像还可以查看DragDropImage的演示

您还可以下载博客中提到的源代码。

https://stackoverflow.com/a/22908379/3034199

© www.soinside.com 2019 - 2024. All rights reserved.