Ich versuche, einen runden Rahmen um meine Bitmap zu erstellen!Hinzufügen eines runden Rahmenkreises auf gerundeter Bitmap
Mit diesem Code im Stande, meine Bitmap Runde zu machen:
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap
.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff4242DB;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
final float roundPx = bitmap.getWidth()/2;
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
//canvas.drawCircle(0, 0, bitmap.getWidth(), paint);
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
, was ich versucht habe, ist, einen Kreis zu zeichnen (die auskommen Linie) mit Leinwand, aber es war kein Ergebnis . Weiß jemand, wie ich einen kreisförmigen Rand um ihn hinzufügen kann?
EDIT
Wenn ich die Zeile verwenden:
canvas.drawCircle(0, 0, bitmap.getWidth(), paint);
Der Effekt ist, dass drei Ecken abgerundet bekommen, aber die obere linke bleibt gleich (90 Grad) Aber ich kann nicht sehe irgendeine Linie oder einen Kreis!
hast du irgendeinen Fehler? Wenn nein, was war das Problem? – Sam
@Sam Oh Entschuldigung, ich werde die Frage aktualisieren! – Sebastian
Wie hast du den kleinen Schatten hinterlassen? – xanexpt