Superponga la cámara con un elemento redimensionable / reubicable que al hacer clic combine las imágenes

Necesito dejar que un usuario mueva una imagen en la pantalla y cambiar su tamaño también.

Esa parte ya la he logrado.

La parte que no puedo entender es cómo, al tomar una foto, congelar la imagen movible / redimensionable en la foto-imagen que fusionar las dos juntas para hacer 1 mapa de bits.

Realmente no tengo ningún "fragmento" de código para publicar. Solo espero que algunas personas hayan tenido una experiencia con esto antes y que les importe arrojar algo de luz.

EDITAR. Entiendo que cuando tomo la foto, la imagen ya está congelada en la pantalla. En ese caso, capturo la ubicación de los elementos en el lienzo. Lo que tengo que hacer es tomar el lienzo en el que ya tengo algo dibujado y superponerlo de alguna manera en otro lienzo al que también le asigné la foto.

EDITAR # 2

OK damas y caballeros. Me lo imaginé. Aquí está el código para hacer una superposición para la cámara (como lo describe mmeyer).

    Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() {
    public void onPictureTaken(byte[] imageData, Camera c) {
        Context ct = new Context;

        RelativeLayout relativeview = new RelativeLayout(ct);
        if (imageData != null) {
            Context ct = HagsCamera.this;
            new Intent(ct, PreviewandSend.class);

        Bitmap photo = BitmapFactory.decodeByteArray(imageData, 0, imageData.length);
        int picwidth= (photo.getWidth()/2);
        int picheight = (photo.getHeight()/2);

        Bitmap photocopy = Bitmap.createScaledBitmap(photo, picwidth, picheight,     false);
            Canvas c2 = crv.canvastoreturn;
            c2.setBitmap(photocopy);
        //photo.recycle();  

        ImageView newImage = new ImageView(ct);
        relativeview.addView(newImage);
        relativeview.draw(c2);
        RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
                photo.getWidth()/2, photo.getHeight()/2);
        relativeview.setLayoutParams(lp);

Buena suerte a todos ustedes. Espero que esto ayude a salvar muchos dolores de cabeza.

En resumen: haga un mapa de bits de su imagen.
Haga un lienzo para su superposición y arroje sus cosas allí
Obtenga una copia del lienzo de su superposición
.setBitmap () ese lienzo y configúrelo en su mapa de bits de foto.
Haga un diseño relativo y agregue un nuevo ImageView a eso.
Dibuja tu lienzo en el ImageView.
luego descubra los parámetros de diseño para su RelativeLayout.

Ahora que lo pienso, tal vez puedas configurar el lienzo de la capa superior en el mapa de bits de tu foto ... y simplemente guardarlo ... puedes probarlo tú mismo.

Respuesta 1

¿Hay alguna manera de registrar las solicitudes JAX-RS entrantes? ¿O se trata más o menos de registrar solicitudes HTTP?

Si tengo la intención de crear un conjunto de API que permita a otros desarrolladores interactuar con mi aplicación, ¿cómo debo estructurar este conjunto de API en el sentido de empaquetado? Estoy considerando esto ... Para todos ...

Quiero usar la aserción en el código de producción para validar la entrada para métodos privados, ya que este artículo recomienda: Mejores prácticas de afirmación. Y estoy buscando un buen código de envoltura delgada que pueda ...

Tengo un LabelField anidado dentro de una fila TableLayoutManager. Quiero que la fila tenga una altura específica (la misma altura que su fondo de mapa de bits). Para lograr esto, cambié el método de diseño () ...