tôi sử dụng đoạn mã sau để vẽ một bitmap trong OnDraw của một tùy chỉnh Xemandroid Paint.setShadowLayer() vs Canvas.drawbitmap() vấn đề
Paint p = new Paint(Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG);
p.setShadowLayer(3,3,3,0xff000000);
Bitmap bmp = BitmapFactory.decodeResource(some drawable jpg);
canvas.drawBitmap(bmp,null,new Rect(blah blah),p);
và bóng trông buồn cười. Ý tôi là gì? Ý tôi là tôi nhận được một cái bóng khác nếu tôi gọi canvas.drawRect(). Có vẻ như sorta giống như mã shadow của android đang xử lý bitmap như một kênh alpha hay cái gì đó.
đã thử thêm p.setColor (0xff000000); và p.setStyle (Paint.Style.FILL); nhưng không khác biệt.
Tôi đoán tôi có thể drawRect với bóng trên, sau đó drawBitmap với bóng tắt, nhưng điều đó có vẻ ngớ ngẩn vì nó sẽ hiển thị pixel hai lần.
trong trường hợp này: hình ảnh cho biết hơn 1000 từ. Vui lòng thêm ảnh chụp màn hình – WarrenFaith