适用于 Xamarin.Android 的便携式裁剪图像活动(Android 的 Monodroid / Mono)

Posted

技术标签:

【中文标题】适用于 Xamarin.Android 的便携式裁剪图像活动(Android 的 Monodroid / Mono)【英文标题】:Portable Crop Image Activity for Xamarin.Android (Monodroid / Mono for Android) 【发布时间】:2013-04-03 22:19:03 【问题描述】:

我正在寻找可在我的Xamarin.android 应用程序中使用的便携式裁剪图像活动。类似于用 Java 编写的这个:https://github.com/lvillani/android-cropimage。

我认为这对于那些没有实现默认 com.android.camera.action.CROP 意图操作的 Android 设备是必要的。

try 
    // Call the standard crop action intent (the user device may not support it).
    Intent cropIntent = new Intent ("com.android.camera.action.CROP");
    ...
    Activity.StartActivityForResult(cropIntent, ...);
 catch (ActivityNotFoundException ex) 
    // Call a custom portable crop image activity here.

最后,有没有我可以用来实现所呈现行为的开放库?

【问题讨论】:

【参考方案1】:

是的,有一个(免责声明:作者在这里)

cropimage-xamarin

【讨论】:

我试过了,它在调整大小方面非常灵活。但是在测试之后,我注意到当裁剪大小等于或大于初始矩形大小时,它会使应用程序崩溃。我不知道为什么。但是要明确的是,如果您将裁剪区域的大小调整为小于初始大小,则效果很好。可能是因为附加组件无法处理的总尺寸(现在只是猜测)还是因为其他原因? 您是否尝试过调试它以找出它到底在哪里崩溃?好久没看但是觉得我们应该避免选择比原图更大的区域。 好吧,我没有深入调查,但我有一个解决方法。我注意到如果宽度 + 高度之和大于 1000,那么它会崩溃。我尝试了很多组合来确认从 100x900 到 900x100 的这个假设,只有那些总和大于 1000 才崩溃。我刚刚做了另一种方法,如果总和大于 1000,我会将较高的维度减少 1,直到达到 1000。 823x432,将其减小到 568x432。另一个是如果给定的是 962x678,则将其减小到 500x500。然后它现在完美地工作了:)

以上是关于适用于 Xamarin.Android 的便携式裁剪图像活动(Android 的 Monodroid / Mono)的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Android 中基于 RESX 的本地化

如何删除 Xamarin.Forms 导航栏?

Xamarin - 无法通过 Android(和 iOS)访问本地 api

Flutter: 适用于移动Web嵌入式和桌面平台的便携式界面框架

OSX Yosemite 10.10 上 Xamarin 中的 PCL 库

Xamarin Android在方向改变上保持内容