Я пытаюсь рисовать на холсте, где фон загружен в Android. Это прекрасно работает без BackgroundImage:Рисовать с холстом над изображением в Android/Java
background = (ImageView)view.findViewById(R.id.Background);
Bitmap bitmap = Bitmap.createBitmap(canvasSize,canvasSize,Bitmap.Config.ARGB_8888);
canvas = new Canvas(bitmap);
background.setImageBitmap(bitmap);
Im передавая этот холст в другой класс и рисовать на ней. Это прекрасно работает.
Но когда я делаю это:
background = (ImageView)view.findViewById(R.id.Background);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); //Just to test
canvas = new Canvas(bitmap);
//or this
canvas = new Canvas(bitmap.copy(Bitmap.Config.ARGB_8888, true));
background.setImageBitmap(bitmap);
Он не рисовать поверх изображения, так что вы не можете видеть точку. Вот код из другого класса, где я использую этот холст рисовать:
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
canvas.drawCircle((float)sObject.getSideGforce()*mult+add,
(float)sObject.getFrontRearGforce()*mult+add, 15*V.LOGICAL_DENSITY, dot);
Моя цель состоит в том, чтобы создать холст с настраиваемым размером, который имеет изображение в качестве фона, на котором я могу рисовать. Его Gforce Display, поэтому изображение будет представлять собой несколько кругов с числами, а холст нарисовал бы точку над ним, чтобы вы могли видеть, сколько Gs вы тянете. Как я уже сказал, он отлично работает без фона. И я не хочу перерисовывать фон каждый раз, когда я переставляю точку. Таким образом, фон должен быть статическим, а точка должна быть на холсте динамической (на 100 Гц). Спасибо заранее.
РЕШЕНИЕ: Он работает с этим кодом.
view.setBackgroundResource(R.drawable.ic_launcher);
Мне просто нужно было установить фон моего вида. Он растягивает изображение до размера моего фрагмента, но все в порядке.
Проверить эту ссылку http://stackoverflow.com/questions/21846584/android-canvas-draw-by-finger/21846585#21846585 Надеюсь, что это Виль помочь U – Namy
спасибо, но это не помогло мне –