Generar una imagen con texto personalizado en Android

Estoy intentando crear una aplicación para crear tarjetas personalizadas. Quisiera añadir un poco de texto sobre un fondo de encargo (una imagen del jpg).

¿Cuál es la mejor manera de hacerlo? Necesito mostrar al usuario una vista previa de la tarjeta antes de enviarla al servidor.

Gracias

2 Solutions collect form web for “Generar una imagen con texto personalizado en Android”

Utilice debajo del código para alcanzar su requisito

Bitmap src = BitmapFactory.decodeResource(getResources(), R.drawable.yourimage); // the original file yourimage.jpg i added in resources Bitmap dest = Bitmap.createBitmap(src.getWidth(), src.getHeight(), Bitmap.Config.ARGB_8888); String yourText = "My custom Text adding to Image"; Canvas cs = new Canvas(dest); Paint tPaint = new Paint(); tPaint.setTextSize(35); tPaint.setColor(Color.BLUE); tPaint.setStyle(Style.FILL); cs.drawBitmap(src, 0f, 0f, null); float height = tPaint.measureText("yY"); float width = tPaint.measureText(yourText); float x_coord = (src.getWidth() - width)/2; cs.drawText(yourText, x_coord, height+15f, tPaint); // 15f is to put space between top edge and the text, if you want to change it, you can try { dest.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(new File("/sdcard/ImageAfterAddingText.jpg"))); // dest is Bitmap, if you want to preview the final image, you can display it on screen also before saving } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } 

Tienes que usar el permiso de abajo en el archivo de manifiesto.

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

Para mi dispositivo la ruta es /sdcard para acceder a la tarjeta SD externa, puede variar para otros dispositivos. Algunos dispositivos pueden tener /mnt/sdcard puede ser para tarjetas SD internas. Sólo hay que comprobarlo antes de usar este código.

En realidad, escribí el código anterior para alguna otra pregunta, que requiere sello de tiempo en la foto después de capturado de la cámara. Te di la misma solución con algunas modificaciones para tu requerimiento específico.

Espero que puedas entender esto. Si tiene alguna duda sobre el código no dude en preguntar.

No estoy seguro de que esta es la mejor solución, pero puede ayudarle.

Paso 1: Crear un diseño relativo (en cualquier otro) y establecer la imagen como su fondo.

Paso 2: Ahora agregue una vista de texto con el ancho y la altura como fill_parent o match_parent y también la gravedad como top | center_horizontal.

Paso 3: Ahora agregue otro botón o cualquier otro control de diseño que activará la confirmación del usuario. (Debe colocar este control fuera del diseño relativo).

Paso 4: Si el usuario ha confirmado la imagen, puede tomar una captura de pantalla de su diseño relativo a través del código siguiente:

 v1.setDrawingCacheEnabled(true);//v1 is the object of your Relative layout Bitmap bm = v1.getDrawingCache(); if (bm != null) { //TODO:write the code for saving the image. Toast toast = Toast.makeText(YourActivity.this, "image saved", Toast.LENGTH_LONG); toast.show(); } else { Toast toast = Toast.makeText(YourActivity.this, "No image saved.", Toast.LENGTH_LONG); toast.show(); } 
  • Android Cambiar elementos de menú del cajón de navegación Texto por programación
  • Aplicación para Android en Eclipse: Editar texto que no se muestra en la presentación gráfica
  • Envuelva texto fuera de la curva de bezier en android
  • Android: Alinea un texto a la izquierda y centra la vista de texto en la vista de los padres
  • Uso de estilos de fuente predeterminados en Android
  • Texto de TextView de Android Trunca el comportamiento
  • Deshabilitar la "corrección ortográfica" en textView
  • Cómo cambiar el tamaño de fuente de mensaje ProgressDialog en android mediante programación?
  • XFinium PDF library mobile: Cómo obtener la altura de un texto envuelto
  • ¿Cómo subraya un texto en android xml?
  • Android ImageButton con imagen y texto
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.