Android crop image like camscanner

对着背影说爱祢 提交于 2020-07-04 06:14:50

问题


I am developing a project which requires the image crop feature like camscanner android application,when a picture is taken and when user clicks the crop button, a rectangle overlay should be shown as in camscanner. Where the rectangle path can be stretched to any angle and can perform crop.please do help me with a solution.

I was referring to https://github.com/edmodo/cropper . but this as only rectangle overlay with 4 points.please do help me if any one has a link or solution!!


回答1:


I had a similar requirement and I too didn't find any concrete solution similar to CamScanner, so I have taken the challenge and have implemented a scan library (on top of OpenCV, rich image processing library) similar to CamScanner which can be easily integrated into an existing application, using the library you will be able to select the exact edges in whatever angle and crop the document accordingly from the selected 4 edges and change the perspective transformation of the cropped image.

Github link of the Android ScanLibrary: https://github.com/jhansireddy/AndroidScannerDemo

enter image description here




回答2:


thanks @jhansi for this amazing library but the problem of this library(Android Scanner Library) is the image orientation is always 90 degree rotated, we can solve it like this.

Solution in Kotlin

In OnActivityResult it gives you bitmap and this bitmap you can pass to "Bitmap.roate" method.

Use it like this: val rotatedBitmap=bitmap.rotate(90f) imageView.setImageBitmap(rotatedBitmap)

Paste this method in your activity: fun Bitmap.rotate(degrees: Float): Bitmap { val matrix = Matrix().apply { postRotate(degrees) } return Bitmap.createBitmap(this, 0, 0, width, height, matrix, true) }



来源:https://stackoverflow.com/questions/18923569/android-crop-image-like-camscanner

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!