Tôi đã thử nghiệm điều này trên Motorola Droid của tôi và nó hoạt động như dự định. Tuy nhiên, tôi lo ngại rằng điều này có thể là:Có an toàn khi vẽ một phần của bitmap Android lên bản thân với một số chồng lên nhau không?
- Rất không hiệu quả.
- Không đảm bảo hoạt động trên tất cả các điện thoại Android.
Code:
/* Create a simple 100 by 100 bitmap */
Bitmap myBitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
/* Create a canvas with which to draw on my bitmap */
Canvas myCanvas = new Canvas(myBitmap);
/* Draw a subset of my bitmap onto itself, with the source rectangle and destination rectangle overlapping */
Rect sourceRect = new Rect(10, 0, 99, 99);
Rect destRect = new Rect(0, 0, 89, 99);
myCanvas.drawBitmap(myBitmap, sourceRect, destRect, null);
Như tôi đã nói, điều này dường như làm việc tốt trong thử nghiệm của tôi, nhưng khi thực hiện BLITS bit trên các nền tảng khác, tôi đã không luôn luôn có thể đảm bảo rằng nó an toàn, bộ nhớ và hiệu suất-khôn ngoan, để sao chép một khu vực grpahics khác khi nguồn và các điểm đến giao nhau.
Tôi muốn chào đón bất kỳ thông tin chi tiết nào về điều này.