Posts Tagged ‘image’

Android: Background Tile Repeat

Cuando estamos aplicando un diseño en nuestra aplicación, si usamos algún fondo éste puede ser en muchos casos de tipo mosaico. ¿Qué entendemos por tipo mosaico? Pues simplemente una imagen que se repite infinitamente a lo largo y ancho de la pantalla formando un mosaico.

En nuestro contenedor podemos definir un fondo mediante:

android:background="@drawable/background"

Pero por defecto la imagen se adapta a todo el espacio del contenedor.

Para hacer que la imagen se repita como un mosaico, debemos utilizar la classe”BitmapDrawable” creando un fichero xml en el directorio “drawable” donde definiremos un “Bitmap”. Veamos como hacerlo.

Fichero drawable-hdmi/backgroundrepeat.xml

<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/background"
android:tileMode="repeat"
android:dither="true" />

En el contenedor donde queremos aplicar el mosaico, utilizaremos el fichero xml en lugar de la image

android:background="@drawable/backgroundrepeat"

Lo que estamos haciendo es, en lugar de utilizar la imagen directamente estamos “creando” un bitmap que ocupa toda la pantalla repitiendo la imagen original.

 

 

Share

Titanium : Convertir una imagen a base64

A veces necesitamos pasar una imagen como parámetro a través de una URL (un uso común con algún Webservice o API).

Os dejo un snippet que codificara dicha imagen a Base64, lo que os facilitara el traspaso de la misma a través de la URL… después solo tendréis que acceder un “decode”

var imgStr=Ti.Utils.base64encode(image.toString());
Share

Titanium : Guardar una imagen de la galeria de imagenes

Snippet recurrente y útil que usaras a menudo en tus proyectos, al menos si necesitas guardar una imagen en tu galería.

Ti.Media.openPhotoGallery({
    success:functon(e) {
        Ti.API.log("My picture = " + e.media);
        myImageView.image = e.media;
 
        // create file and write image
        var fileName = new Date().getTime() + "image.jpg"; // unique name
        var file = Titanium.Filesystem.applicationDataDirectory + "/"+fileName;
        var savedFile = Titanium.Filesystem.getFile(file);
        savedFile.write(e.media);
 
        // save location of file in property
        Ti.App.Properties.setString("filename", savedFile.nativePath);
    }
});

Visto en Codeboxed

Share