Actualmente estoy dando mis primeros pasos con el desarrollo de iPhone a través de MonoTouch, estoy jugando con un UIImage
que leo de la biblioteca de fotos.¿Detecta si un UIImage es PNG o JPEG?
Lo que quiero lograr es obtener la matriz de bytes sin formato (byte[]
) de la imagen.
Sé que están las envolturas UIImageJPEGRepresentation
y UIImagePNGRepresentation
en MonoTouch. También sé cómo usarlos. Lo que no sé es:
¿Cómo decido cuál de estas dos funciones llamar?
I.e. si la imagen original es una imagen JPEG, no quiero obtenerla como PNG sino también como JPEG, y viceversa.
¿Hay alguna manera de hacerlo, o me faltan algunos puntos en esto?
Gracias, @bryanmac Básicamente estoy escribiendo una pequeña herramienta para seleccionar una imagen de la biblioteca de fotos y subirlo a través de un servicio web. Así que no estoy produciendo la imagen, sino simplemente "consumiéndola". Tal vez podría obtener los bytes en bruto en algún lugar en el parámetro 'NSDictionary editingInfo' de 'FinishedPickingImage'. –
Entonces, si tengo entendido, realmente no importa si la foto fue cargada originalmente como PNG o JPEG ... ¿una vez que obtiene el UIImage puede convertirlo a ambos formatos? – Fustigador
Si hay un canal alfa, entonces querrá saber cuál usar. Tomé un jpeg y luego utilicé uiimage para mostrarlo y luego lo guardé en una base de datos local, retrospectivamente debería haberlo guardado en el disco, cualquiera que haya usado UIImagePNGRpresentación en lugar de UIImageJPEGRepresentation y luego intenté restaurarlo y esto es el resultado http://imgur.com/2yG3Zv2 Como puede ver, la transparencia se arruina. Como dije, probablemente debería haberlo guardado en el disco duro y haber guardado la ruta, pero el hecho es que, en algunos casos, sí importa la función que uses. – Biclops