Skip to content

CropViewLayout

Add: Version 0.5.0

Quick start

Add: Version 0.5.0

<com.ave.vastgui.tools.view.cropview.CropViewLayout
    android:id="@+id/cropview_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

Default style

Use of Cropping

Calling the system cropping application

Using CropIntent to call the system cropping application.

VastCropActivity

Add: Version 0.5.0

VastCropActivity is the default cropping application. You can easily use it in the following ways.

<activity
    android:name="com.ave.vastgui.tools.activity.app.VastCropActivity"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>
val intent = Intent(this, VastCropActivity::class.java).apply {
    data = originalImageUri
    putExtra(VastCropActivity.FRAME_TYPE, VastCropActivity.FRAME_TYPE_GRID9)
    putExtra(VastCropActivity.OUTPUT_X, 300f)
    putExtra(VastCropActivity.OUTPUT_Y, 300f)
}

VastCropActivity

Click VastCropActivity to get more information.

Frame type

Add: Version 0.5.0   Update: Version 1.5.2

The frame type can be set by crop_frame_type or calling cropFrameType .

Type Example Type Example
CIRCLE Frame circle SQUARE Frame square
GRID9 Frame grid9 RECTANGLE Frame rectangle
binding.cropViewLayout.cropFrameType = CropFrameType.CIRCLE
<com.ave.vastgui.tools.view.cropview.CropViewLayout
    ...
    app:crop_frame_type="circle" />

Frame size

Add: Version 0.5.0   Update: Version 1.5.2

The size of the preview frame is related to the shape of the preview frame, if the shape of the preview frame is RECTANGLE, the size of the preview frame can be set by crop_frame_width and crop_frame_height or call setCropFrameSize(Float, Float).

binding.cropViewLayout.setCropFrameSize(50f.DP, 50f.DP)
<com.ave.vastgui.tools.view.cropview.CropViewLayout
    ...
    app:crop_frame_width="50dp"
    app:crop_frame_height="50dp" />

If the shape is CIRCLE, SQUARE or GRID9, the size of the preview frame can be set by crop_frame_size or call setCropFrameSize(Float).

binding.cropViewLayout.setCropFrameSize(50f.DP)
<com.ave.vastgui.tools.view.cropview.CropViewLayout
    ...
    app:crop_frame_size="50dp" />

Mask color

Add: Version 0.5.0   Update: Version 0.5.3

The mask color can be set by crop_mask_layer_color or calling setCropMaskColor .

binding.cropViewLayout.setCropMaskColor(Color.RED)
<com.ave.vastgui.tools.view.cropview.CropViewLayout
    ...
    app:crop_mask_layer_color="@color/red" />

Alpha of mask color

It is recommended to use a color with transparency for better effect.

CropViewLayout with mask color

Stroke color

Add: Version 0.5.0

The stroke color of the frame can be set by crop_frame_stroke_color or calling setCropFrameStrokeColor .

binding.cropViewLayout.setCropFrameStrokeColor(Color.RED)
<com.ave.vastgui.tools.view.cropview.CropViewLayout
    ...
    app:crop_frame_stroke_color="@color/red" />

CropViewLayout with stroke color

Output image

Add: Version 0.5.0   Update: Version 1.5.2

Compatibility with Android 9(API 28)

val bitmap:Bitmap? = binding.cropViewLayout.getCroppedImageApi28(outputX,outputY)

Compatibility under Android 9

val bitmap:Bitmap? = binding.cropViewLayout.getCroppedImage(outputX,outputY)

Sample code

Sample code