2016-09-06 5 views
1

プレビューとして表示されたimageviewにクロップされた画像を表示したいのですが、今度は再び切り抜いて表示したいのですが、imageViewに表示します内部カメラのクロッピングを使用したいと思っています。クロッピング中に、私は高さと幅を固定したくありません。内部カメラクロッピングを使用しないで画像を切り抜く方法

+0

あなたの質問が私には不明であることを説明してください。可能であれば、あなたが望むものを詳しく説明するために図を使用してください。 –

+0

イメージビューではなく画像をトリミングしたいと思う。 –

+0

ちょうど私はイメージをトリミングしたいが、内部カメラのトリミングを使用しない。私は自分のアプリケーションでクロップするための新しいコードを開発したいと思います。申し訳ありませんが説明するための任意の図がありません。これは私があなたに説明できるすべてです。 – radhika

答えて

0

具体的な要件について言及していないので、円形画像の切り抜きの例を見て、その動作を見ていきます。画像は実際の画像を変える必要があるので、実際の画像を変える必要があるので、画像はちょっと紙に描かれているようなものですか?CanvasPaintShapesなどです。同じものはandroidJavaで入手できます。

matrixpixelsで、キャンバスクラスを使用してペイント、クロッピング、スタイリングなどを行うことができます。

ステップ:
1.
2.あなたのイメージから、または描画可能などからのビットマップがConfig.ARGB_8888で新しいビットマップを作成しなさい、効率のための新しいビットマップの8ビットの大きさにセットアルファ、RGBチャンネルを意味します。
3.丸みを帯びたコーナースタイリング用に新しいBitmapShaderを作成します。
4.描画するスタイルとカラー情報を保持する新しいPaintを作成します。
5.入力を使用して描画操作を処理する新しいCanvasを作成します。
6. Paintと半径を持つCanvasオブジェクトの 'drawCircle'を呼び出します。
7.完了です!これらのAPIについて学習すれば、要件を満たすことができます。

Bitmap bitmap = yourImageBitmap; // step 1 
Bitmap circleBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); // step 2 

BitmapShader shader = new BitmapShader (bitmap, TileMode.CLAMP, TileMode.CLAMP);// step 3 
Paint paint = new Paint(); // step 4 
     paint.setShader(shader); 
paint.setAntiAlias(true); // smooth picture 
Canvas c = new Canvas(circleBitmap); // step 5 
c.drawCircle(bitmap.getWidth()/2, bitmap.getHeight()/2, bitmap.getWidth()/2, paint); // step 6  

myImageView.setImageBitmap(circleBitmap); 
0

おそらくImageMagickを使用します。

https://github.com/paulasiimwe/Android-ImageMagick

これは、高品質、柔軟な画像操作ライブラリです。私はAndroidでは使用していませんが、コマンドラインとC#からはかなり簡単です。あなたが必要とするのは、MagickImageクラスです。

関連する問題