Ищет помощь по устранению неполадок, почему растровое изображение не изменяется этим рисунком. Посмотрите на многочисленные примеры, и мой код, похоже, соответствует тому, что указано. Что мне не хватает?Зачем рисовать на холсте Android, не изменяя мое растровое изображение?
Это код (класс построен в другом месте, а звонок drawSomething()
- в обработчике onTouchEvent
). Я сократил код для краткости:
class MyView extends View {
Bitmap mBitmap;
BitmapDrawable mBitmapDrawable;
Canvas mCanvas;
Paint mPaint;
public MyView(Context context) {
super(context);
mBitmap = Bitmap.createBitmap(500, 500, Bitmap.Config.ARGB_8888);
mBitmapDrawable = new BitmapDrawable(getResources(), mBitmap);
mCanvas = new Canvas(mBitmap);
mCanvas.setBitmap(mBitmap);
mPaint = new Paint();
mPaint.setColor(Color.parseColor("#00FF00"));
mPaint.setStrokeWidth(10);
}
public void drawSomething() {
mCanvas.drawColor(0xFF00FF00); // This should "fill" the canvas
int radius = 10;
mCanvas.drawCircle(50, 50, radius, mPaint); // This should draw a circle at (50, 50)
int count=0;
for (int i=0; i<mBitmap.getWidth(); i++)
{
for (int j=0; j<mBitmap.getHeight(); j++)
{
if (mBitmap.getPixel(i, j) > 0)
{
count += 1;
}
}
}
if (count == 0)
{
Log.v("MyApp", "Nothing was drawn!");
}
}
}
Где вы вызываете 'drawSomething()'? – CommonsWare
Отредактировано для объяснения использования. Спасибо – Jason
Если вы уверены, что этот код может реплицировать проблему, я думаю, вам просто нужно создать пример приложения и надеть github, чтобы людям было проще попробовать его. –