2016-09-06 6 views
1

Ich möchte ein beschnittenes Bild in einem imageview anzeigen, das als Vorschau angezeigt wird und nachdem es als Vorschau angezeigt wird, jetzt möchte ich es wieder zuschneiden und es in imageView zeigen, aber ich don Ich möchte das interne Zuschneiden der Kamera nicht verwenden und beim Zuschneiden möchte ich die Höhe und Breite nicht korrigieren.So beschneiden Sie ein Bild ohne interne Kamera beschneiden

+0

bitte erklären Sie ein bisschen mehr Ihre Frage ist mir unklar, Wenn möglich Diagramme verwenden, um zu erarbeiten, was Sie wollen, zeigen Sie uns auch, was Sie noch ausprobiert haben. –

+0

Ich denke, Sie möchten Bild nicht Bildansicht beschneiden. –

+0

ist es nur ich möchte ein Bild zuschneiden, aber ohne die interne Kamera zuschneiden. Ich möchte einen neuen Code zum Zuschneiden in meiner Anwendung entwickeln. Tut mir leid, ich habe kein Diagramm zu erklären. Das ist alles, was ich dir erklären könnte. – radhika

Antwort

0

Da Sie keine spezielle Anforderung erwähnt haben, werde ich mit einem kreisförmigen Bildausschnittbeispiel zeigen, wie es funktioniert. Also Bild ist wie ein Bild auf etwas Papier gezeichnet, was Sie brauchen, um das Bild im wirklichen Leben zu ändern ?, Canvas, Paint, Shapes etc.So sind Dinge in android und Java über verschiedene APIs.

können Sie bitmap verwenden, die eine matrix von pixels ist, auf dem Sie Ihre Malerei tun, Zuschneiden, Styling etc. ‚Leinwand‘ Klasse.

Schritte:
1. Bitmap aus dem Bild Erhalten oder von ziehbar etc
2. Erstellen Sie eine neue Bitmap mit Config.ARGB_8888 Satz alpha bedeuten, RGB-Kanal auf 8 Bit Größe der neuen Bitmap für Effizienz.
3. Erstellen Sie eine neue BitmapShader für abgerundete Ecken Styling.
4. Erstellen Sie einen neuen Paint, der die zu zeichnenden Stil- und Farbinformationen enthält.
5. Erstellen Sie eine neue Canvas, die die Zeichenoperation mit Eingaben verarbeitet.
6. Rufen Sie 'drawCircle' auf Canvas Objekt mit Paint und Radius.
7. Sie sind fertig! Jetzt können Sie über diese APIs lernen, um Ihre Anforderungen zu erfüllen.

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

Ich würde wahrscheinlich ImageMagick verwenden.

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

Es ist eine qualitativ hochwertige, flexible Bibliothek zur Bildbearbeitung. Ich habe es nicht in Android verwendet, aber von der Befehlszeile und C# ist es ziemlich einfach. Ich glaube, die MagickImage Klasse ist die wichtigste, die Sie benötigen.

Verwandte Themen