Kann jemand ein Bild \ Bitmap zu einem Kreis zuschneiden? Ich kann keine Lösung finden, sorry ..Crop Bild als Kreis in Android
Antwort
Versuchen mit folgendem Code:
public Bitmap getRoundedShape(Bitmap scaleBitmapImage) {
// TODO Auto-generated method stub
int targetWidth = 50;
int targetHeight = 50;
Bitmap targetBitmap = Bitmap.createBitmap(targetWidth,
targetHeight,Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(targetBitmap);
Path path = new Path();
path.addCircle(((float) targetWidth - 1)/2,
((float) targetHeight - 1)/2,
(Math.min(((float) targetWidth),
((float) targetHeight))/2),
Path.Direction.CCW);
canvas.clipPath(path);
Bitmap sourceBitmap = scaleBitmapImage;
canvas.drawBitmap(sourceBitmap,
new Rect(0, 0, sourceBitmap.getWidth(),
sourceBitmap.getHeight()),
new Rect(0, 0, targetWidth,
targetHeight), null);
return targetBitmap;
}
Nicht funktioniert. Bitte schlage mich vor. – Arun
Klasse:
public Bitmap getRoundedShape(Bitmap scaleBitmapImage) {
int targetWidth = 50;
int targetHeight = 50;
Bitmap targetBitmap = Bitmap.createBitmap(targetWidth,
targetHeight,Bitmap.Config.ARGB_8888);
canvas = new Canvas(targetBitmap);
Path path = new Path();
path.addCircle(((float) targetWidth - 1)/2,
((float) targetHeight - 1)/2,
(Math.min(((float) targetWidth),
((float) targetHeight))/2),
Path.Direction.CCW);
canvas.clipPath(path);
Bitmap sourceBitmap = scaleBitmapImage;
canvas.drawBitmap(sourceBitmap,
new Rect(0, 0, sourceBitmap.getWidth(),
sourceBitmap.getHeight()),
new Rect(0, 0, targetWidth,
targetHeight), null);
return targetBitmap;
}
Ausblick:
<ImageView
android:id="@+id/imgView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/btnEdit"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:background="@drawable/rounded"
android:adjustViewBounds="true"
android:gravity="center"
android:src="@drawable/happy"/>
Weitere Stile:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="@android:color/white" />
<stroke
android:width="3dip"
android:color="#FF0000" />
<corners android:radius="10dp" />
<padding
android:bottom="0dp"
android:left="0dp"
android:right="0dp"
android:top="0dp" />
Romain Guy, früher ein Ingenieur auf dem Android-Team bei Google erzielte einen ausgezeichneten Artikel auf drawing images with rounded corners. Diese Idee könnte leicht zu einem Kreis erweitert werden, indem zum Beispiel der abgerundete Rechteckradius so geändert wird, dass ein vollständiger Kreis entsteht.
Aus dem Artikel:
Um die abgerundeten Bilder zu erzeugen ich einfach eine benutzerdefinierte schrieb
Drawable
dass ein abgerundetes Rechteck zeichnetCanvas.drawRoundRect()
verwenden. Der Trick ist , einPaint
mit einemBitmapShader
zu verwenden, um das gerundete Rechteck mit eine Beschaffenheit anstelle einer einfachen Farbe zu füllen. Hier ist, was der Code wie folgt aussieht:BitmapShader shader; shader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP); Paint paint = new Paint(); paint.setAntiAlias(true); paint.setShader(shader); RectF rect = new RectF(0.0f, 0.0f, width, height); // rect contains the bounds of the shape // radius is the radius in pixels of the rounded corners // paint contains the shader that will texture the shape canvas.drawRoundRect(rect, radius, radius, paint);
Canvas macht auch eine [drawCircle] (http://developer.android.com/reference/android/graphics/Canvas.html) Methode verfügbar, die für diesen Fall besser geeignet sein könnte. – greg7gkb
finalBitmapShader shader = newBitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
mPaint.setShader(shader);
mBitmapWidth=mBitmap.getWidth();
mBitmapHeight=mBitmap.getHeight();
}
@Override
public void draw(Canvas canvas{
canvas.drawOval(mRectF,mPaint);
}
@Override
protected void onBoundsChange(Rect bounds) {
super.onBoundsChange(bounds);
mRectF.set(bounds);
}
ich hier eine Probe Tutorial davon bei http://androidgreeve.blogspot.in/2014/09/facebook-messanger-like-profile-image.html?m=1
Wiseman Design gefunden, hat eine Open-Source-Rundimagegebrauchsfertig
https://github.com/wisemandesigns/CircularImageView
Dies verwendet XML in Ihren Layouts, die macht das Leben leichter. Sie können die Quelle in XML setzen oder mit ein paar kleineren Änderungen eine Bitmap verwenden.
Disclaimer: Ich für Wiseman arbeiten Designs
Für abgerundete Ecken für Image mit, Ihr Bild in Bitmap umwandeln und dann versuchen, folgenden Code:
private Bitmap getRoundedCroppedBitmap(Bitmap bitmap) {
int widthLight = bitmap.getWidth();
int heightLight = bitmap.getHeight();
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(),Config.ARGB_8888);
Canvas canvas = new Canvas(output);
Paint paintColor = new Paint();
paintColor.setFlags(Paint.ANTI_ALIAS_FLAG);
RectF rectF = new RectF(new Rect(0, 0, widthLight, heightLight));
canvas.drawRoundRect(rectF, widthLight/2 ,heightLight/2,paintColor);
Paint paintImage = new Paint();
paintImage.setXfermode(new PorterDuffXfermode(Mode.SRC_ATOP));
canvas.drawBitmap(bitmap, 0, 0, paintImage);
return output;
}
- 1. Crop Bild im Kreis (php)
- 2. Crop das android Bild
- 3. Benutzerdefinierte Android Bild Crop
- 4. Crop Bild ohne OutOfMemory - Android
- 5. Kann Android nicht verwenden Crop Bild beschneiden Bibliothek in Android
- 6. Crop svg Kreis Objekt mit rect Objekt
- 7. PHP Bild Crop Problem
- 8. Android Crop-Koordinaten
- 9. Wie „Crop“ ein gedrehtes Bild in Pygame
- 10. Crop ein Bild mit fester Größe in Android
- 11. ASP.NET C#: Crop ein Bild
- 12. crop Bild php deformiert, verzerrt
- 13. css crop Bild speichern Seitenverhältnis
- 14. Crop Bild im laufenden Betrieb
- 15. Crop ein Bild in asp.net mit C#
- 16. SVG-Bild im Kreis
- 17. Crop Quadrat Bild zu kreisen - programmatisch
- 18. Lassen Sie den Benutzer crop Bild
- 19. wie kann ich anpassen Bild crop
- 20. CSS-Skala und quadratische Mitte Crop Bild
- 21. Größe ändern und crop Bild zentriert
- 22. Android Auto Crop Kamera Bilder eingefangen
- 23. Bild im Kreis Rahmen iOS
- 24. UITabBarView machen Bild einen Kreis
- 25. Fitting gesamtes Bild im Kreis
- 26. Android Kreis und abgerundeten Hintergrund
- 27. Crop und load gekacheltes Bild in Bildbox C#
- 28. Dividieren Kreis Bild in 4 Scheiben
- 29. Canvas Clip Bild in einem Kreis
- 30. Kreis mit Farbe langsam in android
@ user1281750 genau Frage ausführlich lesen! Es ist kein Duplikat wie! –
mögliches Duplikat von [Ausschnittsfläche aus Bitmap in Android beschneiden] (http://stackoverflow.com/questions/11932805/croping-circular-area-from-bitmap-in-android) – Adinia