我目前正在开发一个应用程序,允许用户在图像上添加贴纸(帽子,头发,眼镜等)。用户可以调整该贴纸的大小,也可以旋转它并移动。见图。
我有贴纸,但如何将它们放在原始图像上并移动/旋转/放大它们以调整原始图像?
答案 0 :(得分:24)
您可以查看以下链接获取stickerView
答案 1 :(得分:10)
我在http://code.google.com/p/android-multitouch-controller/找到了一个好结果。它处理3合1设施。在Multi-Touch上,您可以平移图像,可以缩放图像,同时还可以旋转图像。并且您可以根据需要添加多个贴纸。
答案 2 :(得分:1)
要放大/缩小图像,您可以尝试以下代码:
yourImageView.setLayoutParams(new GridView.LayoutParams(newWidthImage, newHeightImage));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
希望得到这个帮助。
答案 3 :(得分:1)
第一步:下载此链接Lib。 https://github.com/nimengbo/StickerView
第二:( StickerView,BubblePropertyModel,StickerPropertryModel.java在这三个文件中粘贴你的项目)。
第三步:代码过去你的MainActivity文件:
注意:mainlayout是(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);
答案 4 :(得分:0)
查看他们试图实现在箭头点击上拉伸图像的功能的博客点,并删除它,还可以使用手势在屏幕上移动图像。
拖放图像还可以查看DragDropImage的演示
您还可以下载博客中提到的源代码。