Estoy agregando imagen a la vista de correo. Mostrará la imagen completa. Pero quiero calcular, cambiar proporcionalmente la altura y el ancho de la imagen.
¿Cómo puedo obtener la altura y el ancho de UIImage?
let heightInPoints = image.size.height
let heightInPixels = heightInPoints * image.scale
let widthInPoints = image.size.width
let widthInPixels = widthInPoints * image.scale
Puntos. Multiplique por la propiedad de escala para obtener los píxeles.
rmooney
Fue extraño Tomé una foto con la cámara y supuse su altura> ancho. Pero los puntos de ancho eran 1280 y la altura 720. ¿Cuál es el problema con ellos?
Henry
1
Cuando se carga la imagen desde el carrete de la cámara (a través de UIImagePickerController), la escala siempre parece ser 1.0, pero el tamaño de la imagen no se da en píxeles. (en realidad es la mitad del tamaño de píxel). -> ¿cómo puedo obtener el tamaño adecuado de píxeles - no puede utilizar UIScreen.main.scale causa que es 3 en el iPhone 6/7 Plus, pero Image.Size sigue siendo el mismo
benrudhart
Parece que image.scale es solo 1.0 por defecto, como se mencionó en el comentario anterior. Dicho esto, obtengo valores como (3000, 2002) para una imagen de simulador predeterminada, por lo que deben ser los píxeles reales y no un valor de punto, ¿verdad? Esta publicación tiene algunos años, por lo que puede que image.size haya cambiado para reflejar el valor real de píxeles.
Austin Whitelaw
35
Use la sizepropiedad en la instancia de UIImage. Consulte la documentación para más detalles.
Es fácil de usar desde UIImage que usar otro marco.
Sábado
0
Existen muchas soluciones útiles, pero no hay una forma simplificada con la extensión. Aquí está el código para resolver el problema con una extensión:
let imageView:UIImageView=//this is your existing imageViewlet imageViewHeight:CGFloat= imageView.frame.height
let imageViewWidth:CGFloat= imageView.frame.width
Respuestas:
fuente
Use la
size
propiedad en la instancia de UIImage. Consulte la documentación para más detalles.fuente
fuente
Algunas de las respuestas anteriores no funcionan bien al girar el dispositivo.
Tratar:
fuente
fuente
fuente
Existen muchas soluciones útiles, pero no hay una forma simplificada con la extensión. Aquí está el código para resolver el problema con una extensión:
fuente
fuente