Cómo guardar, exportar o convertir un Android XML Drawable como un archivo de imagen PNG?
Tengo un gradiente que realmente me gusta, pero lo he creado utilizando XML drawable:
<gradient android:startColor="#DD181C18" android:endColor="#809C7D5A" android:angle="90"/>
¿Cuál sería una manera fácil de crear esto a un png o algo similar?
- Barra de progreso circular Android con esquinas redondeadas
- Cambiar el color del borde de la forma en tiempo de ejecución
- Botones de radio específicos: la forma más sencilla de configurar diferentes estilos para los botones primero / último
- ¿Cómo conseguir el efecto de la luz del centro del gradiente del androide?
- Línea dibujable debajo de textview no mostrando
Lo que realmente estoy buscando es: una herramienta que puede y las instrucciones que utilizan esa herramienta para hacer gradientes utilizando un formato #aarrggbb
como es la entrada de alfa / color (ángulo de 90 grados, ángulos en general, sería un plus).
Gracias por cualquier ayuda.
EDIT: D'oh! Me di cuenta de que ImageMagick debería ser capaz de hacer esto. Voy a publicar el código que es mi respuesta en breve, a menos que alguien quiere golpearme a él y recibir toda la recompensa!
- Android: Cómo hacer un selector desplegable
- Problema de representación de Android Drawable (Barra de progreso, Interruptor)
- Forma del androide con el movimiento inferior
- Entender la <lista de capas> de Android
- Título de la acción: Mostrar Título AND Icon
- Extraño borde negro alrededor de XML extraíble android
- ¿Fondo vertical-rayado en XML?
- XML dibujable teniendo un comportamiento diferente en 4.3 y 4.1.2
Utilice un programa como photoshop o paint.Net – ambos tienen herramientas de degradado y debe permitirle establecer los colores en el mismo formato que tiene allí.
Al final fue una línea usando ImageMagick !
No puedo creer que no pensé en usar ImageMagick antes, Duh !!!
convert -size 480x84 gradient:'rgba(156, 125, 90, 0.52)'-'rgba(24, 28, 24, 0.86)' tmp.png
Para referencia, he usado esto para crear un archivo de imagen .png utilizando mi XML de Android ## AARRGGBB valores. ¡ImageMagick FTW !!!
Gracias por la entrada de todos.
También puede crear una actividad con sólo el degradado como fondo y nada más en la pantalla.
Ejecute la aplicación en un emulador o dispositivo y use DDMS para realizar una captura de pantalla. A continuación, tendrá un PNG bien renderizado para guardar, y puede crear cualquier tamaño que desee, variando el tamaño de la pantalla del emulador que está utilizando.
Su XML podría tener este aspecto:
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/your_gradient"> </LinearLayout>
Probar esto:
try { item.setDrawingCacheEnabled(true); Bitmap bmp = item.getDrawingCache(); FileOutputStream out = new FileOutputStream(filename); bmp.compress(Bitmap.CompressFormat.PNG, 90, out); } catch (Exception e) { e.printStackTrace(); }
Aquí el item
es el grupo de vista / vista que quiero procesar.
En realidad, utilizar el mismo fragmento (menos el archivo de escritura) para algunos en la pantalla de renderizado y parece preservar la transparencia.
Nota Sobre los colores:
Los colores se pueden especificar en android usando valores hexadecimales. Un byte (8 bits) está disponible para cada valor de color en el patrón ARGB
(total 32 bits). A
significa Alpha
, R
significa Red
, G
para Green
y B
para Blue
. Cada componente puede tener valores entre (0, 255). Tenga en cuenta que:
decimal 0 = hex 0x00 decimal 255 = hex 0xFF
Así que si usted quería un color blanco con opaco 'Alpha (no transparency) you would use
#FFFFFFFF . For Black
. For Black
# FF000000 . For Grey
. For Grey
# FF808080 .
80 is hex value of decimal 128 and gives you half of full intensity white. so
is hex value of decimal 128 and gives you half of full intensity white. so
80 'te da la mediana de Gris.
Utilice la aritmética hexadecimal para obtener valores de sus colores decimales.
AFAIK, el ángulo para un gradiente radial no debe hacer ninguna diferencia. Pruebe todo esto en GIMP o lea los tutoriales de GIMP. Mejor aún usar Photoshop si puede (90 días de versiones de prueba disponibles).