我正在寻找谷歌照片应用程序风格的图像处理。我对图像处理有点新意。关于如何使用与裁剪矩形,旋转(旋转图像和裁剪矩形)相同尺寸的图像制作裁剪矩形的任何线索,图像拉直(包括如何获得该角度滑块类型的UI)将是很好的。如果有一些库具有这些功能,那也可以。
答案 0 :(得分:1)
Square有一个用于加载和播放图像的库。 以下是一些功能:
- Handling ImageView recycling and download cancelation in an adapter. - Complex image transformations with minimal memory use. - Automatic memory and disk caching.
有关于如何在其网站上使用lib的详细信息。看看:Picasso
您需要添加的gradle行是:
compile 'com.squareup.picasso:picasso:2.5.2'
它非常易于使用。以下是我在示例应用程序中将图像加载并调整为ImageView的方法:
Picasso.with(mContext).load("http://cdn0.vox-cdn.com/uploads/chorus_asset/file/798874/DSCF1913.0.jpg").fit().centerCrop().into(imageView);
如您所见,我在这里使用了fit().centerCrop()
。这会调整图像以适合我imageView
内的比例。您可以尝试不同形式的图像转换,以更好地满足您的需求。
您还可以从可绘制文件夹或直接从文件中加载图像:
Picasso.with(context).load(R.drawable.landing_screen).into(imageView1);
Picasso.with(context).load("file:///android_asset/DvpvklR.png").into(imageView2);
Picasso.with(context).load(new File(...)).into(imageView3);
修改强>: 我第一次看到它时,看起来并不完全理解你的问题。以下是您尝试实现的一些提示。可能不是你想要的,但我认为这可能是一个开始。
如果要旋转图像,可以使用RequestCreator.rotate(float degrees)
使用Picasso进行旋转。
这是RequestCreator的文档。
对于裁剪图像(在指定的矩形内,如您所示),有: Android crop
或者您可以使用Picasso Transformations并创建类似
的转换CropTransformation(Top, Center, Bottom);
请毕加索改变这样的形象:
Picasso.with(mContext).load(R.drawable.demo)
.transform(transformation).into((ImageView) findViewById(R.id.image));
另外,正如@Amit K Saha在答案中所说,你可以使用一些Android SDK效果。检查android.media.effect
。
希望这有帮助。
答案 1 :(得分:0)
android sdk有一些帮助。可能不是你正在寻找的,但值得开始。看看这里。
可在此处找到可用效果列表
http://developer.android.com/reference/android/media/effect/EffectFactory.html