SlideShare una empresa de Scribd logo
1 de 68
PROGRAMACIÓN MULTIMEDIA
Y
DISPOSITIVOS MÓVILES
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
MULTIMEDIA
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LAS IMÁGENES
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
WINDOWMANAGER
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: WINDOWSMANAGER
Interfaz que Gestiona las ventanas
de las aplicaciones, cada instancia
de gestor de ventanas se une a una
determinado Display
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
import android.view.Display;
import android.view.WindowsManager;
LA PANTALLA: WINDOWSMANAGER
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: WINDOWSMANAGER
Display display = ((WindowManager)
getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay()
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
DISPLAYMETRICS
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: DISPLAYMETRICS
Describe la información general de
una pantalla, tales como su
tamaño, la densidad y la escala de
fuentes…
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: DISPLAYMETRICS
DisplayMetrics metrica = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrica);
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
PIXEL
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: PIXEL
Un píxel es un punto que emite un
solo color en una imagen o en una
pantalla.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: PIXEL
IMAGEN ALTA DENSIDAD
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: PIXEL
IMAGEN BAJA DENSIDAD
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
TAMAÑO DE PANTALLA
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: TAMAÑO DE PANTALLA
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: TAMAÑO DE PANTALLA
SMALL: desde 2 pulgadas a 3 pulgadas
NORMAL: desde 3 pulgadas a 4.5 pulgadas
LARGE: desde 4.5 pulgadas hasta 7 pulgadas
XLARGE: desde 7 pulgadas hasta 10 pulgadas
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
RESOLUCIÓN DE PANTALLA
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: RESOLUCIÓN DE PANTALLA
Es el número total de pixeles en la
pantalla.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: TAMAÑO DE PANTALLA
display.getWidth()
display.getHeight()
MEDIANTE GESTOR DE PANTALLA
MEDIANTE MÉTRICA DE PANTALLA
metrica. widthPixels
metrica. heightPixels
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: RESOLUCIÓN DE PANTALLA
Las aplicaciones no deberían tratar
directamente con la resolución,
sino con el tamaño de la pantalla y
con la densidad de pixeles
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: RESOLUCIÓN DE PANTALLA
QVGA: 240 x 320 pixeles
HVGA: 320 x 480 pixeles
WQVGA: 240 x 432 pixeles
WVGA: 480 x 800 pixeles
WXGA: 1280 x 800 pixeles
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: RESOLUCIÓN DE PANTALLA
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
ESCALA DE PANTALLA
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: RESOLUCIÓN DE PANTALLA
En Android de trabaja con la
unidad métrica DIP (Density
Independent Pixel) que equivale
aproximadamente a 1.5 pixel
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: ESCALA DE PANTALLA
Este parámetro nos mide el factor
de escala para la unidad de
densidad de píxeles.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: DENSIDAD DE PANTALLA
getResources().getDisplayMetrics().density
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
DENSIDAD DE PANTALLA
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: DENSIDAD DE PANTALLA
La densidad de pixeles de un
dispositivo es el número de pixels por
pulgada física de pantalla (dpi).
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: DENSIDAD DE PANTALLA
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: DENSIDAD DE PANTALLA
getResources().getDisplayMetrics().densityDpi)
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: DENSIDAD DE PANTALLA
Existe en Android la relación
DPI/pixeles que permite siempre
medir en densidades en las distintas
resoluciones (en pixel).
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: DENSIDAD DE PANTALLA
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: DENSIDAD DE PANTALLA
switch(metrica.densityDpi)
{
case DisplayMetrics.DENSITY_XXHIGH:
..//..
break;
………..
case DisplayMetrics.DENSITY_LOW
..//..
break;
}
}
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA
LDPI: desde 100 hasta 150
MDPI: desde 150 hasta 200
HDPI: desde 200 hasta 250
XHDPI: desde 250 hasta 300
XXHDPI: mayor de 300
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA
RES_H = resolución horizontal en pixels
RES_V = resolución vertical en pixels
DIAGONAL = diagonal en pulgadas
RES_H2 + RES_V2)
DIAGONAL
DPI=
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: DENSIDAD DE PANTALLA
100 dip en HVGA (320×480) son 100 pixeles
100 dip en WVGA800 (480×800) son 150 pixeles
100 dip en HVGA (480×854) son 150 pixeles
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
LA PANTALLA: DENSIDAD DE PANTALLA
75 X 75
LDPI
100 X 100
MDPI
150 X 150
HDPI
200 X 200
XDPI
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
IMAGEVIEW
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
IMAGEVIEW
<ImageView
android:id=“@+id/imagen“
android:layout_width="match_parent"
android:layout_height=“wrap_content“
android:src=“@drawable/imagen”
/>
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
ANDROID:CONTENTDESCRIPTION
ANDROID:SCALETYPE
IMAGEVIEW
ANDROID:SRC
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
import android.widget.ImageView;
IMAGEVIEW
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
IMAGEVIEW
final ImageView imagen = (ImageView) findViewById(R.id.imagen);
imagen.setImageResource(R.drawable.imagen2);
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
BITMAP
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
import android. graphics.Bitmap;
import android. graphics.BitmapFactory;
IMAGEVIEW
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
BITMAPFACTORY.CREATESCALEDBITMAP()
BITMAPFACTORY.DECODEBYTEARRAY()
BITMAPFACTORY.DECORESOURCE()
BITMAPFACTORY.DECODESTREAM()
IMAGEN.SETIMAGEBITMAP()
BITMAPFACTORY
BITMAPFACTORY.DECODEFILE()
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
BITMAP: RECURSO
Bitmap bm;
bm = BitmapFactory. (getResources(),R.drawable.foto);
imagen.setImageBitmap(bm);
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
BITMAP: FICHERO
Bitmap bm;
bm = BitmapFactory.decodeFile("/sdcard/test2.png");
imagen.setImageBitmap(bm);
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
BITMAP: BUFFER
Bitmap bm;
buf = new BufferedInputStream(in);
bm = BitmapFactory.decodeStream(buf);
imagen.setImageBitmap(bm);
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
BITMAP: BUFFER
imageUrl = new URL("http://pagina.com/foto.jpg");
conn = (HttpURLConnection) imageUrl.openConnection();
conn.connect();
Bitmap bm= BitmapFactory.decodeStream(conn.getInputStream());
img.setImageBitmap(imagen);
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
BITMAP: ARRAY
Bitmap bm;
buf = new BufferedInputStream(in);
byte[] bMapArray= new byte[buf.available()];
buf.read(bMapArray);
bm = BitmapFactory. decodeByteArray(bMapArray, 0, bMapArray.length);
imagen.setImageBitmap(bm);
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
AJUSTAR MÉTRICA
BITMAPFACTORY
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
import android.util.DisplayMetrics;
BITMAPFACTORY
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
AJUSTES A PANTALLA
Con el Objeto Display entonces
podemos calcular cuánto mide la
pantalla del dispositivo en que se ve la
aplicación, su orientación en el
momento que se abre, el refreshrate
de la pantalla.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
AJUSTES A PANTALLA
pixels = dps x (scaleDensity/screendensity)
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
AJUSTES A PANTALLA
Con el objeto DisplayMetrics,
obtenemos la densidad por dpi y si el
equipo es High Density o Low Density,
Medium Density.
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
BITMAP
DisplayMetrics metrica = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrica);
int height = metrica.heightPixels;
int width = metrica.widthPixels;
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
BITMAP
BitmapFactory.Options optiones = new BitmapFactory.Options();
opciones.inJustDecodeBounds = true;
BitmapFactory.decodeResource(res, id, opciones);
int imageHeight = optiones.outHeight;
int imageWidth = optiones.outWidth;
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
MAPABIT.getHeight()
BITMAPFACTORY
MAPABIT.getWidth()
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
ESCALANDO
BITMAPFACTORY
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
BITMAP: ESCALANDO
Bitmap bm;
bm = BitmapFactory.decodeResource(getResources(),R.drawable.imagen);
Bitmap bMapEsc = Bitmap.createScaledBitmap(bm, 150, 100, true);
image.setImageBitmap(bMapEsc );
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
ROTANDO
BITMAPFACTORY
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
BITMAP: ROTANDO
Bitmap bm;
bm = BitmapFactory.decodeResource(getResources(),R.drawable.imagen);
Matrix mat = new Matrix();
mat.postRotate(90);
BitmapbMpRt=Bitmap.createBitmap(bm,0,0,bm.getWidth(),bm.getHeight(),mat,true);
image.setImageBitmap(bMpRt);
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
MULTIMEDIA
© J.D.CABRERA
PROGRAMACIÓN MULTIMEDIA
Y
DISPOSITIVOS MÓVILES
PROGRAMACIÓN ANDROID: MULTIMEDIA - LAS IMÁGENES

Más contenido relacionado

Similar a PROGRAMACIÓN ANDROID: MULTIMEDIA - LAS IMÁGENES

PROGRAMACIÓN ANDROID: MULTIMEDIA - LOS SONIDOS Y EL VIDEO
PROGRAMACIÓN ANDROID: MULTIMEDIA - LOS SONIDOS Y EL VIDEOPROGRAMACIÓN ANDROID: MULTIMEDIA - LOS SONIDOS Y EL VIDEO
PROGRAMACIÓN ANDROID: MULTIMEDIA - LOS SONIDOS Y EL VIDEOJacinto Cabrera Rodríguez
 
PROGRAMACIÓN ANDROID: MULTIMEDIA - MEDIASTORE
PROGRAMACIÓN ANDROID: MULTIMEDIA - MEDIASTOREPROGRAMACIÓN ANDROID: MULTIMEDIA - MEDIASTORE
PROGRAMACIÓN ANDROID: MULTIMEDIA - MEDIASTOREJacinto Cabrera Rodríguez
 
DISPOSITIVOS MÓVILES: PRESENTACIÓN DEL MÓDULO
DISPOSITIVOS MÓVILES: PRESENTACIÓN DEL MÓDULODISPOSITIVOS MÓVILES: PRESENTACIÓN DEL MÓDULO
DISPOSITIVOS MÓVILES: PRESENTACIÓN DEL MÓDULOJacinto Cabrera Rodríguez
 
I+D Nuevas Tecnologias
I+D Nuevas TecnologiasI+D Nuevas Tecnologias
I+D Nuevas Tecnologiasguest4a350e
 
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONES
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONESDISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONES
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONESJacinto Cabrera Rodríguez
 

Similar a PROGRAMACIÓN ANDROID: MULTIMEDIA - LAS IMÁGENES (20)

INSTALACIÓN ANDROID STUDIO 1
INSTALACIÓN ANDROID STUDIO 1INSTALACIÓN ANDROID STUDIO 1
INSTALACIÓN ANDROID STUDIO 1
 
DISPOSITIVOS MÓVILES: GRIDVIEW - SPINNER
DISPOSITIVOS MÓVILES: GRIDVIEW - SPINNERDISPOSITIVOS MÓVILES: GRIDVIEW - SPINNER
DISPOSITIVOS MÓVILES: GRIDVIEW - SPINNER
 
DISPOSITIVOS MÓVILES: MATERIAL DESIGN II
DISPOSITIVOS MÓVILES: MATERIAL DESIGN IIDISPOSITIVOS MÓVILES: MATERIAL DESIGN II
DISPOSITIVOS MÓVILES: MATERIAL DESIGN II
 
ANDROID: FUNDAMENTOS DE UNA APLICACIÓN
ANDROID: FUNDAMENTOS DE UNA APLICACIÓNANDROID: FUNDAMENTOS DE UNA APLICACIÓN
ANDROID: FUNDAMENTOS DE UNA APLICACIÓN
 
PROGRAMACIÓN ANDROID: MULTIMEDIA - LOS SONIDOS Y EL VIDEO
PROGRAMACIÓN ANDROID: MULTIMEDIA - LOS SONIDOS Y EL VIDEOPROGRAMACIÓN ANDROID: MULTIMEDIA - LOS SONIDOS Y EL VIDEO
PROGRAMACIÓN ANDROID: MULTIMEDIA - LOS SONIDOS Y EL VIDEO
 
INSTALACIÓN ANDROID STUDIO 2
INSTALACIÓN ANDROID STUDIO 2INSTALACIÓN ANDROID STUDIO 2
INSTALACIÓN ANDROID STUDIO 2
 
DISPOSITIVOS MÓVILES: LAYOUTS
DISPOSITIVOS MÓVILES: LAYOUTSDISPOSITIVOS MÓVILES: LAYOUTS
DISPOSITIVOS MÓVILES: LAYOUTS
 
PROGRAMACIÓN ANDROID: MULTIMEDIA - MEDIASTORE
PROGRAMACIÓN ANDROID: MULTIMEDIA - MEDIASTOREPROGRAMACIÓN ANDROID: MULTIMEDIA - MEDIASTORE
PROGRAMACIÓN ANDROID: MULTIMEDIA - MEDIASTORE
 
ESTRUCTURA DE UN PROYECTO EN ANDROID STUDIO
ESTRUCTURA DE UN PROYECTO EN ANDROID STUDIOESTRUCTURA DE UN PROYECTO EN ANDROID STUDIO
ESTRUCTURA DE UN PROYECTO EN ANDROID STUDIO
 
ANDROID: CONFIGURAR ADB
ANDROID: CONFIGURAR ADBANDROID: CONFIGURAR ADB
ANDROID: CONFIGURAR ADB
 
DISPOSITIVOS MÓVILES: GIT - GITHUB
DISPOSITIVOS MÓVILES: GIT - GITHUBDISPOSITIVOS MÓVILES: GIT - GITHUB
DISPOSITIVOS MÓVILES: GIT - GITHUB
 
ANDROID; CONTROL DE VERSIONES
ANDROID; CONTROL DE VERSIONESANDROID; CONTROL DE VERSIONES
ANDROID; CONTROL DE VERSIONES
 
DISPOSITIVOS MÓVILES: LISTVIEW
DISPOSITIVOS MÓVILES: LISTVIEWDISPOSITIVOS MÓVILES: LISTVIEW
DISPOSITIVOS MÓVILES: LISTVIEW
 
DISPOSITIVOS MÓVILES: PRESENTACIÓN DEL MÓDULO
DISPOSITIVOS MÓVILES: PRESENTACIÓN DEL MÓDULODISPOSITIVOS MÓVILES: PRESENTACIÓN DEL MÓDULO
DISPOSITIVOS MÓVILES: PRESENTACIÓN DEL MÓDULO
 
DISPOSITIVOS MÓVILES: MENÚS Y SUBMMENÚS
DISPOSITIVOS MÓVILES: MENÚS Y SUBMMENÚSDISPOSITIVOS MÓVILES: MENÚS Y SUBMMENÚS
DISPOSITIVOS MÓVILES: MENÚS Y SUBMMENÚS
 
I+D Nuevas Tecnologias
I+D Nuevas TecnologiasI+D Nuevas Tecnologias
I+D Nuevas Tecnologias
 
aplicacion de windows
aplicacion de windows aplicacion de windows
aplicacion de windows
 
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONES
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONESDISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONES
DISPOSITIVOS MÓVILES: DIÁLOGOS Y NOTIFICACIONES
 
DISPOSITIVOS MÓVILES: FRAGMENTOS
DISPOSITIVOS MÓVILES: FRAGMENTOSDISPOSITIVOS MÓVILES: FRAGMENTOS
DISPOSITIVOS MÓVILES: FRAGMENTOS
 
DISPOSITIVOS MÓVILES TEMA 01
DISPOSITIVOS MÓVILES TEMA 01DISPOSITIVOS MÓVILES TEMA 01
DISPOSITIVOS MÓVILES TEMA 01
 

Más de Jacinto Cabrera Rodríguez

Más de Jacinto Cabrera Rodríguez (20)

REDES: DUCTUS Y CANALETAS II
REDES: DUCTUS Y CANALETAS IIREDES: DUCTUS Y CANALETAS II
REDES: DUCTUS Y CANALETAS II
 
OTRAS UNIDADES DE ALMACENAMIENTO
OTRAS UNIDADES DE ALMACENAMIENTOOTRAS UNIDADES DE ALMACENAMIENTO
OTRAS UNIDADES DE ALMACENAMIENTO
 
LAS FUENTES EN LA HISTORIA DEL ARTE
LAS FUENTES EN LA HISTORIA DEL ARTELAS FUENTES EN LA HISTORIA DEL ARTE
LAS FUENTES EN LA HISTORIA DEL ARTE
 
TOULOUSE LAUTREC
TOULOUSE LAUTRECTOULOUSE LAUTREC
TOULOUSE LAUTREC
 
PRÁCTICA MANEJO DE MEMORIA
PRÁCTICA MANEJO DE MEMORIAPRÁCTICA MANEJO DE MEMORIA
PRÁCTICA MANEJO DE MEMORIA
 
ZÓCALOS DE TARJETAS
ZÓCALOS DE TARJETASZÓCALOS DE TARJETAS
ZÓCALOS DE TARJETAS
 
ZÓCALOS DE PROCESADOR
ZÓCALOS DE PROCESADORZÓCALOS DE PROCESADOR
ZÓCALOS DE PROCESADOR
 
TIPOS DE MÓDULOS DE MEMORIA
TIPOS DE MÓDULOS DE MEMORIATIPOS DE MÓDULOS DE MEMORIA
TIPOS DE MÓDULOS DE MEMORIA
 
CARCASAS DE ORDENADOR
CARCASAS DE ORDENADORCARCASAS DE ORDENADOR
CARCASAS DE ORDENADOR
 
TIPOS DE TORNILLOS
TIPOS DE TORNILLOSTIPOS DE TORNILLOS
TIPOS DE TORNILLOS
 
PRACTICAS DE REDES: PRÁCTICA 26
PRACTICAS DE REDES: PRÁCTICA 26PRACTICAS DE REDES: PRÁCTICA 26
PRACTICAS DE REDES: PRÁCTICA 26
 
PRACTICAS DE REDES: PRÁCTICA 25
PRACTICAS DE REDES: PRÁCTICA 25PRACTICAS DE REDES: PRÁCTICA 25
PRACTICAS DE REDES: PRÁCTICA 25
 
PRACTICAS DE REDES: PRÁCTICA 24
PRACTICAS DE REDES: PRÁCTICA 24PRACTICAS DE REDES: PRÁCTICA 24
PRACTICAS DE REDES: PRÁCTICA 24
 
PRACTICAS DE REDES: PRÁCTICA 23
PRACTICAS DE REDES: PRÁCTICA 23PRACTICAS DE REDES: PRÁCTICA 23
PRACTICAS DE REDES: PRÁCTICA 23
 
REDES: TOMAS DE DATOS
REDES: TOMAS DE DATOSREDES: TOMAS DE DATOS
REDES: TOMAS DE DATOS
 
PRACTICAS DE REDES: PRÁCTICA 22
PRACTICAS DE REDES: PRÁCTICA 22PRACTICAS DE REDES: PRÁCTICA 22
PRACTICAS DE REDES: PRÁCTICA 22
 
PRACTICAS DE REDES: PRÁCTICA 21
PRACTICAS DE REDES: PRÁCTICA 21PRACTICAS DE REDES: PRÁCTICA 21
PRACTICAS DE REDES: PRÁCTICA 21
 
PRACTICAS DE REDES: PRÁCTICA 20
PRACTICAS DE REDES: PRÁCTICA 20PRACTICAS DE REDES: PRÁCTICA 20
PRACTICAS DE REDES: PRÁCTICA 20
 
PRACTICAS DE REDES: PRÁCTICA 19
PRACTICAS DE REDES: PRÁCTICA 19PRACTICAS DE REDES: PRÁCTICA 19
PRACTICAS DE REDES: PRÁCTICA 19
 
PRACTICAS DE REDES: PRÁCTICA 18
PRACTICAS DE REDES: PRÁCTICA 18PRACTICAS DE REDES: PRÁCTICA 18
PRACTICAS DE REDES: PRÁCTICA 18
 

PROGRAMACIÓN ANDROID: MULTIMEDIA - LAS IMÁGENES

  • 1.
  • 3.
  • 4. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA MULTIMEDIA
  • 5. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LAS IMÁGENES
  • 6. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA
  • 7. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA WINDOWMANAGER
  • 8. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: WINDOWSMANAGER Interfaz que Gestiona las ventanas de las aplicaciones, cada instancia de gestor de ventanas se une a una determinado Display
  • 9. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA import android.view.Display; import android.view.WindowsManager; LA PANTALLA: WINDOWSMANAGER
  • 10. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: WINDOWSMANAGER Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay()
  • 11. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA DISPLAYMETRICS
  • 12. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: DISPLAYMETRICS Describe la información general de una pantalla, tales como su tamaño, la densidad y la escala de fuentes…
  • 13. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: DISPLAYMETRICS DisplayMetrics metrica = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrica);
  • 14. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA PIXEL
  • 15. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: PIXEL Un píxel es un punto que emite un solo color en una imagen o en una pantalla.
  • 16. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: PIXEL IMAGEN ALTA DENSIDAD
  • 17. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: PIXEL IMAGEN BAJA DENSIDAD
  • 18. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA TAMAÑO DE PANTALLA
  • 19. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: TAMAÑO DE PANTALLA
  • 20. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: TAMAÑO DE PANTALLA SMALL: desde 2 pulgadas a 3 pulgadas NORMAL: desde 3 pulgadas a 4.5 pulgadas LARGE: desde 4.5 pulgadas hasta 7 pulgadas XLARGE: desde 7 pulgadas hasta 10 pulgadas
  • 21. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA RESOLUCIÓN DE PANTALLA
  • 22. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: RESOLUCIÓN DE PANTALLA Es el número total de pixeles en la pantalla.
  • 23. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: TAMAÑO DE PANTALLA display.getWidth() display.getHeight() MEDIANTE GESTOR DE PANTALLA MEDIANTE MÉTRICA DE PANTALLA metrica. widthPixels metrica. heightPixels
  • 24. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: RESOLUCIÓN DE PANTALLA Las aplicaciones no deberían tratar directamente con la resolución, sino con el tamaño de la pantalla y con la densidad de pixeles
  • 25. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: RESOLUCIÓN DE PANTALLA QVGA: 240 x 320 pixeles HVGA: 320 x 480 pixeles WQVGA: 240 x 432 pixeles WVGA: 480 x 800 pixeles WXGA: 1280 x 800 pixeles
  • 26. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: RESOLUCIÓN DE PANTALLA
  • 27. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA ESCALA DE PANTALLA
  • 28. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: RESOLUCIÓN DE PANTALLA En Android de trabaja con la unidad métrica DIP (Density Independent Pixel) que equivale aproximadamente a 1.5 pixel
  • 29. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: ESCALA DE PANTALLA Este parámetro nos mide el factor de escala para la unidad de densidad de píxeles.
  • 30. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: DENSIDAD DE PANTALLA getResources().getDisplayMetrics().density
  • 31. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA DENSIDAD DE PANTALLA
  • 32. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: DENSIDAD DE PANTALLA La densidad de pixeles de un dispositivo es el número de pixels por pulgada física de pantalla (dpi).
  • 33. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: DENSIDAD DE PANTALLA
  • 34. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: DENSIDAD DE PANTALLA getResources().getDisplayMetrics().densityDpi)
  • 35. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: DENSIDAD DE PANTALLA Existe en Android la relación DPI/pixeles que permite siempre medir en densidades en las distintas resoluciones (en pixel).
  • 36. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: DENSIDAD DE PANTALLA
  • 37. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: DENSIDAD DE PANTALLA switch(metrica.densityDpi) { case DisplayMetrics.DENSITY_XXHIGH: ..//.. break; ……….. case DisplayMetrics.DENSITY_LOW ..//.. break; } }
  • 38. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA LDPI: desde 100 hasta 150 MDPI: desde 150 hasta 200 HDPI: desde 200 hasta 250 XHDPI: desde 250 hasta 300 XXHDPI: mayor de 300
  • 39. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA RES_H = resolución horizontal en pixels RES_V = resolución vertical en pixels DIAGONAL = diagonal en pulgadas RES_H2 + RES_V2) DIAGONAL DPI=
  • 40. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: DENSIDAD DE PANTALLA 100 dip en HVGA (320×480) son 100 pixeles 100 dip en WVGA800 (480×800) son 150 pixeles 100 dip en HVGA (480×854) son 150 pixeles
  • 41. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA LA PANTALLA: DENSIDAD DE PANTALLA 75 X 75 LDPI 100 X 100 MDPI 150 X 150 HDPI 200 X 200 XDPI
  • 42. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA IMAGEVIEW
  • 43. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA IMAGEVIEW <ImageView android:id=“@+id/imagen“ android:layout_width="match_parent" android:layout_height=“wrap_content“ android:src=“@drawable/imagen” />
  • 44. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA ANDROID:CONTENTDESCRIPTION ANDROID:SCALETYPE IMAGEVIEW ANDROID:SRC
  • 45. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA import android.widget.ImageView; IMAGEVIEW
  • 46. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA IMAGEVIEW final ImageView imagen = (ImageView) findViewById(R.id.imagen); imagen.setImageResource(R.drawable.imagen2);
  • 47. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA BITMAP
  • 48. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA import android. graphics.Bitmap; import android. graphics.BitmapFactory; IMAGEVIEW
  • 49. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA BITMAPFACTORY.CREATESCALEDBITMAP() BITMAPFACTORY.DECODEBYTEARRAY() BITMAPFACTORY.DECORESOURCE() BITMAPFACTORY.DECODESTREAM() IMAGEN.SETIMAGEBITMAP() BITMAPFACTORY BITMAPFACTORY.DECODEFILE()
  • 50. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA BITMAP: RECURSO Bitmap bm; bm = BitmapFactory. (getResources(),R.drawable.foto); imagen.setImageBitmap(bm);
  • 51. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA BITMAP: FICHERO Bitmap bm; bm = BitmapFactory.decodeFile("/sdcard/test2.png"); imagen.setImageBitmap(bm);
  • 52. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA BITMAP: BUFFER Bitmap bm; buf = new BufferedInputStream(in); bm = BitmapFactory.decodeStream(buf); imagen.setImageBitmap(bm);
  • 53. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA BITMAP: BUFFER imageUrl = new URL("http://pagina.com/foto.jpg"); conn = (HttpURLConnection) imageUrl.openConnection(); conn.connect(); Bitmap bm= BitmapFactory.decodeStream(conn.getInputStream()); img.setImageBitmap(imagen);
  • 54. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA BITMAP: ARRAY Bitmap bm; buf = new BufferedInputStream(in); byte[] bMapArray= new byte[buf.available()]; buf.read(bMapArray); bm = BitmapFactory. decodeByteArray(bMapArray, 0, bMapArray.length); imagen.setImageBitmap(bm);
  • 55. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA AJUSTAR MÉTRICA BITMAPFACTORY
  • 56. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA import android.util.DisplayMetrics; BITMAPFACTORY
  • 57. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA AJUSTES A PANTALLA Con el Objeto Display entonces podemos calcular cuánto mide la pantalla del dispositivo en que se ve la aplicación, su orientación en el momento que se abre, el refreshrate de la pantalla.
  • 58. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA AJUSTES A PANTALLA pixels = dps x (scaleDensity/screendensity)
  • 59. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA AJUSTES A PANTALLA Con el objeto DisplayMetrics, obtenemos la densidad por dpi y si el equipo es High Density o Low Density, Medium Density.
  • 60. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA BITMAP DisplayMetrics metrica = new DisplayMetrics(); getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrica); int height = metrica.heightPixels; int width = metrica.widthPixels;
  • 61. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA BITMAP BitmapFactory.Options optiones = new BitmapFactory.Options(); opciones.inJustDecodeBounds = true; BitmapFactory.decodeResource(res, id, opciones); int imageHeight = optiones.outHeight; int imageWidth = optiones.outWidth;
  • 62. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA MAPABIT.getHeight() BITMAPFACTORY MAPABIT.getWidth()
  • 63. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA ESCALANDO BITMAPFACTORY
  • 64. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA BITMAP: ESCALANDO Bitmap bm; bm = BitmapFactory.decodeResource(getResources(),R.drawable.imagen); Bitmap bMapEsc = Bitmap.createScaledBitmap(bm, 150, 100, true); image.setImageBitmap(bMapEsc );
  • 65. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA ROTANDO BITMAPFACTORY
  • 66. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA BITMAP: ROTANDO Bitmap bm; bm = BitmapFactory.decodeResource(getResources(),R.drawable.imagen); Matrix mat = new Matrix(); mat.postRotate(90); BitmapbMpRt=Bitmap.createBitmap(bm,0,0,bm.getWidth(),bm.getHeight(),mat,true); image.setImageBitmap(bMpRt);
  • 67. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES MULTIMEDIA © J.D.CABRERA PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES