0

このhttp://www.androidhub4you.com/2012/07/how-to-crop-image-from-camera-and.htmlに従って、画像をトリミングします。

コラージュ フレームに 4 ~ 5 個の ImageView があります。すべての Imageview で、デフォルトのイメージを設定しました。特定のイメージビューをクリックすると、ギャラリーからイメージを選択してイメージをトリミングします。ImageView でトリミングされたイメージを設定する必要があります。したがって、トリミングされた画像を設定した後、ImageView のサイズが変更され、そのため他の ImageView のサイズも異なります。Imageview でトリミングされた画像を設定している間、ImageView のサイズを変更してはなりません。

結果のトリミングされた画像のサイズは異なる場合があるため、トリミングする前に ImageView サイズを取得し、トリミング後に結果のビットマップをイメージ ビューと同じサイズにスケーリングしています。

コーディングサンプルは打撃です。

このように Imageview の高さと幅を取得しています

  viewhight = tempView.getMeasuredHeight();
    viewWidth = tempView.getMeasuredWidth();

画像をトリミングした後、このようにビューの高さと幅に応じて画像をスケーリングしました

Bitmap photobitmap1 = Bitmap.createScaledBitmap(photobitmap, viewWidth,viewhight, true);

この後、このように描画可能に変更し、Imageview に設定しました。

 Drawable drawble = new BitmapDrawable(getResources(),photobitmap1);
tempView.setBackground(drawble);

しかし、ビューの高さと幅を設定するとサイズが変更され、この近くの画像ビューのサイズも変更されるため、理由がわからない.画像ビューを同じサイズのビューに変換したため.

ビットマップをスケーリングするためにこれも試しました:

Bitmap photobitmap1 = Bitmap.createScaledBitmap(photobitmap, (viewWidth-30), (viewhight-30), true);

そしてこれはビットマップを設定します:

tempView.setImageBitmap(photobitmap1);
 tempView.setBackgroundColor(Color.TRANSPARENT);

しかし、何も機能しませんでした。

私のxmlコードは次のようなものです:

   <LinearLayout
                android:id="@+id/fst"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:background="@drawable/frame"
                android:orientation="vertical"
                android:paddingBottom="10dp"
                android:paddingLeft="85dp"
                android:paddingRight="85dp"
                android:paddingTop="10dp"
               >

                <ImageView
                    android:id="@+id/viw_1"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_marginBottom="2.5dp"
                    android:layout_weight="1"
                    android:background="@drawable/rec"
                 />

                <ImageView
                    android:id="@+id/viw_2"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="1"
                    android:layout_marginTop="2.5dp"
                    android:background="@drawable/rec"
                 />
            </LinearLayout>

誰でも私を助けてください.....

4

1 に答える 1

1

XML で imageview の固定の高さと幅を設定していますか? 例:

<ImageView
    android:layoutWidth="60dp"
    android:layoutHeight="60dp" />
于 2013-11-12T13:57:15.277 に答える