установка фонового растрового изображения в живых обоях - PullRequest
1 голос
/ 25 февраля 2011

Я только начал писать живые обои.

Что я хотел бы сделать, это установить фоновый рисунок из моих ресурсов.И я нарисую свои анимации поверх этого.

Какой самый эффективный способ сделать это?Есть ли способ установить фоновый рисунок на живые обои?Мне просто нужно рисовать растровое изображение на холсте каждый раз перед тем, как я рисую свои анимации (что может показаться ужасно неэффективным)?

спасибо,

Джей

1 Ответ

1 голос
/ 26 февраля 2011

Это то, что я нашел.

Из графической документации затмения:

Примечание. При каждом прохождении холста из SurfaceHolder предыдущее состояние холста сохраняется. Чтобы правильно анимировать вашу графику, вы должны перекрасить всю поверхность. Например, вы можете очистить предыдущее состояние холста, заполнив цвет с помощью drawColor () или установив фоновое изображение с помощью drawBitmap (). В противном случае вы увидите следы ранее выполненных рисунков

Итак, код, который я использовал, выглядит следующим образом:

в onCreate () mBitmapBase = BitmapFactory.decodeResource (getResources (), R.drawable.bidBackground);

в onSurfaceChanged () // размер фонового растрового изображения, чтобы он рисовался эффективно mBitmapBackground = Bitmap.createScaledBitmap (mBitmapBackground, xMax, yMax, true);

и в Run () пытаться { canvas = sHolder.lockCanvas (); если (холст! = ноль) canvas.drawBitmap (mBitmapBackground, 0, 0, null);

Насколько я могу судить, это настолько эффективно, насколько это возможно. Хотя, если кто-нибудь сможет исправить меня, я бы с удовольствием это услышал.

...