1. 程式人生 > >圖片剪裁——自定義比例

圖片剪裁——自定義比例

這個demo是在 android 自定義比例裁剪圖片(拍照 相簿)方式 自定義比例 的基礎上改的,主要是完成當寬高比小於ClipImageLayout的寬高比時出現的問題,實現原理請參考原作者。

效果

比例 27:48
比例 27:48

比例 1:1
比例 1:1

比例 16:9
比例 16:9

佈局檔案

<!--  寬比高  27:48 = 1080:1920 邊距50dp -->
<com.example.clipphotolib.classphoto.ClipImageLayout
    android:id="@+id/id_clipImageLayout"
    app:clip_padding="50dp"
    app:clip_widthRatio="27"   
    app:clip_heightRatio="48"
    app:clip_borderWidth="2"
    app:clip_borderColor="#00A0E4"
    app:clip_shadowColor="#aa000000"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
</com.example.clipphotolib.classphoto.ClipImageLayout>

各屬性的含義

<declare-styleable name="ClipImageLayout">
    <attr name="clip_padding" format="dimension"></attr>    <!--  邊距  -->
    <attr name="clip_widthRatio" format="float"></attr>     <!--  寬度佔周長的比例  -->
    <attr name="clip_heightRatio" format="float"></attr>    <!--  高度佔周長的比例 -->
    <attr name="clip_borderWidth" format="integer"></attr>      <!--  線框的線寬 -->
    <attr name="clip_borderColor" format="color"></attr>    <!--  線框的顏色 -->
    <attr name="clip_shadowColor" format="color"></attr>    <!--  陰影的顏色 -->
</declare-styleable>