Ich testete dies auf meinem Motorola Droid, und es funktionierte wie beabsichtigt. Ich bin jedoch besorgt, dass dies sein könnte:Ist es sicher, einen Teil einer Android-Bitmap mit etwas Überlappung auf sich selbst zu zeichnen?
- schrecklich ineffizient.
- Nicht garantiert auf allen Android-Handys funktionieren.
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);
Wie gesagt, dies in meinem Test gut zu funktionieren schien, aber wenn etwas blits auf anderen Plattformen durchgeführt wird, habe ich nicht immer in der Lage zu garantieren, dass es sicher ist, speicher- und leistungsbezogen, um eine grpahics-region in eine andere zu kopieren, wenn sich die Quelle und die Ziele überschneiden.
Ich würde jeden Einblick in diese begrüßen.