Bạn có thể làm cho thành phần tùy chỉnh của bạn với một bitmap nền lặp đi lặp lại:
BitmapDrawable bitmapBg = new BitmapDrawable(BitmapFactory.decodeResource(
getResources(), R.drawable.repeatbg));
bitmapBg.setTileModeX(Shader.TileMode.REPEAT);
image.setBackgroundDrawable(bitmapBg);
Và bạn có thể làm mặt nạ với hình ảnh mà bạn muốn như thế tam giác và bg của bạn.
public static Bitmap getMaskedContactImage(Context context,
Bitmap contactImageBitmap, int maskToBeApplied) {
Bitmap mask = BitmapFactory.decodeResource(context.getResources(),
maskToBeApplied);
Bitmap output = Bitmap.createBitmap(mask.getWidth(), mask.getHeight(),
Config.ARGB_8888);
final Rect finalRect = new Rect(0, 0, contactImageBitmap.getWidth(),
contactImageBitmap.getHeight());
final Rect originRect = new Rect(0, 0, mask.getWidth(),
mask.getHeight());
Canvas canvas = new Canvas(output);
Paint xferPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
xferPaint.setColor(Color.BLACK);
xferPaint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
canvas.drawBitmap(contactImageBitmap, finalRect, originRect, null);
canvas.drawBitmap(mask, originRect, originRect, xferPaint);
contactImageBitmap.recycle();
mask.recycle();
return output;
}
Điều đó sẽ sử dụng mặt nạ nơi màu đen là hình ảnh cuối cùng.
Nếu tôi không hiểu lầm, điều đó có thể đạt được những gì bạn đang hiển thị trong quá trình chụp.
Kính trọng, Alex
Tôi sẽ mã này .. –
nó làm việc cảm ơn, Kumar .... –
bạn có thể giúp tôi http://stackoverflow.com/questions/19264300/bitmap-with-tile-mode-repeat-and-round-corners này – Goofy