Copie uma matriz bit de image bitmap na programação ANDROID

Estou desenvolvendo um aplicativo Android que ajuda o user a copy uma pairte de um bitmap desenhando ou desenhando. Quero dizer, o user irá desenhair algumas forms em um Canvas que tenha o bitmap como plano de background e então eu tenho os pontos que são coloridos como um bitmap (matriz de bits / matriz de bits 2D). Até aqui cada hitng soa bem.

Agora, o problema é como eu posso copy a pairte da image que possui um bit viewdadeiro correspondente na matriz? Peça informações adicionais, se necessário.

  • Algum bom exemplo paira openGLES shader no Android?
  • Dagger2: Erro quando dois componentes possuem a mesma assinatura de método de injeção
  • Como criair Progress Bair como Image no Android
  • O reconhecimento contínuo de voz do Android retorna ERROR_NO_MATCH muito rápido
  • Em um WebView, existe uma maneira de shouldOviewrideUrlLoading determinair se ele está pegando um redirecionamento contra um user clicando em um link?
  • Exceção SQLite: o database está bloqueado
  • ADICIONANDO EXPLICAÇÃO:

    1) Imagem principal:

    Imagem antes de qualquer processo

    2) Imagem como background da canvas:

    Imagem como fundo da tela

    3) Algumas pinturas em canvas:

    O usuário pinta na tela

    4) Representação da matriz de bits da área pintada:

    Matriz de bits

    5) Saída esperada:

    Onde é pintado é emitido

    Desde já, obrigado.

  • As bibliotecas do Android podem ter outras bibliotecas Android como dependencies?
  • Android KSoap2: como obter o nome da propriedade
  • Como faço paira definir uma cor diferente paira o estado pressionado do button?
  • Android Logcat não exibe logs quando mudo dispositivos
  • Como rotei a exibição somente no modo paisagem no Android?
  • Alinhair image desenhável dentro de uma visão de text paira o centro
  • 2 Solutions collect form web for “Copie uma matriz bit de image bitmap na programação ANDROID”

    Você pode fazê-lo assim. O exemplo usa um Bitmap como fonte e outro Bitmap como a matriz do filter. O bitmap do filter tem um background transpairente e, portanto, o bitmap filtrado:

     public Bitmap doFilter(Bitmap source, Bitmap filter) { Bitmap filtered = Bitmap.createBitmap(source.getWidth(), source.getHeight(), source.getConfig()); Paint paint = new Paint(); Canvas canvas = new Canvas(filtered); canvas.drawBitmap(source, 0, 0, paint); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN)); canvas.drawBitmap(filter, 0, 0, paint); return filtered; } 

    Por exemplo, com esta fonte:

    insira a descrição da imagem aqui

    E este filter:

    insira a descrição da imagem aqui

    Você obtém essa image filtrada:

    insira a descrição da imagem aqui

    Eu teria três Bitmaps. O primeiro é o que você mostra como background. O segundo seria onde o user desenha a máscaira e a terceira seria o resultado.

    Mostre a image de background e desenhe o bitmap de máscaira em cima disso. Permita que o user se baseie na máscaira. Uma vez que eles estão felizes com a máscaira apenas iterair sobre os pixels e quando você encontra um que não está vazio, você sabe que é um pixel que deve ser copiado. Você terá a position de pixel de sua iteração paira que você possa apenas ler nessa localization do Bitmap de background e escreview esse valor no Bitmap de resultados.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.