Carico foto dalla libreria di iPhone/iPad, la maggior parte in modalità Ritratto, desidero sapere Come posso controllare la foto in modalità Orizzontale o Verticale?Come sapere se la foto è in modalità orizzontale o verticale?
risposta
Utilizzare la proprietà imageOrientation
delle istanze UIImage
. Ti restituirà una delle costanti these.
Esempio:
UIImage * image = // caricata dalla libreria
if (image.imageOrientation == UIImageOrientationUp) {
NSLog(@"portrait");
} else if (image.imageOrientation == UIImageOrientationLeft || image.imageOrientation == UIImageOrientationRight) {
NSLog(@"landscape");
}
Questo mi ha aiutato a iniziare con la selezione dell'album e voglio aggiungere alcune informazioni supplementari per l'acquisizione di foto, che non avevo realizzato erano 2 cose completamente diverse! Quando un utente scatta un'istantanea con la fotocamera dell'iPhone, l'immagine non è verticale ma viene effettivamente ruotata di 90 gradi in senso antiorario. Quindi se volessi finire nel blocco 'if' per' NSLog (@ "portrait"); 'allora testare per' UIImageOrientationLeft || UIImageOrientationRight || UIImageOrientationLeftMirrored || UIImageOrientationRightMirrored' e il resto sarà 'landscape' – pulkitsinghal
Ho provato questo pezzo di codice su decine di immagine reale su iPhone 4 con iOS 5.0 e sono riuscito a farli con successo tutto in modalità verticale. Questo è il modo di correggere/controllare
if (image.imageOrientation == UIImageOrientationUp ||
image.imageOrientation == UIImageOrientationDown)
{
NSLog(@"Image is in Landscape Fix it to portrait ....");
backgroundView.frame = self.view.bounds;
backgroundView.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
backgroundView.contentMode = UIViewContentModeScaleAspectFill;
}
else
{
NSLog(@"Image is in Portrait everything is fine ...");
}
Ecco un modo infallibile di fare questo controllo
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage : (UIImage *)image
editingInfo:(NSDictionary *)editingInfo
{
// Get the data for the image
NSData* imageData = UIImageJPEGRepresentation(image, 1.0);
if ([UIImage imageWithData:imageData].size.width > [UIImage imageWithData:imageData].size.height)
{
NSLog(@"Select Image is in Landscape Mode ....");
}
else
{
NSLog(@"Select Image is in Portrait Mode ...");
}
}
- 1. come calcolare se un'immagine è orizzontale o verticale
- 2. Come scoprire se ipad è in modalità orizzontale/verticale in javascript/jquery?
- 3. Galaxy S3 - scattare foto in modalità verticale distrugge l'attività
- 4. come sapere se la VM è in esecuzione in modalità server o client?
- 5. Come è bloccato l'orientamento dell'applicazione (orizzontale o verticale)?
- 6. Come impostare la modalità verticale con libGDX?
- 7. UIDeviceOrientationFaceUp - come distinguere tra verticale e orizzontale?
- 8. Come mostrare l'immagine con l'orientamento corretto, Orizzontale o verticale
- 9. Come sapere se la tastiera visualizzata è Split o normale?
- 10. Come disabilitare la rotazione in modalità orizzontale?
- 11. QtQuick, come sapere se un'applicazione è stata compilata in modalità debug o release?
- 12. Fotocamera Android allungata in modalità orizzontale
- 13. Database orizzontale e database verticale
- 14. AutoCompleteTextView suggerimenti in modalità orizzontale
- 15. Scopri se il dispositivo Android è verticale o orizzontale per un utilizzo normale?
- 16. Lavorare con AutoLayout in verticale e orizzontale
- 17. Come sapere se un MediaRecorder è in esecuzione o no?
- 18. Modalità orizzontale SOLO per iPhone o iPad
- 19. "scatta una foto e la presenta" in modalità verticale su Samsung Galaxy S
- 20. Eseguire l'applicazione solo in modalità orizzontale?
- 21. Android: orientamento dell'anteprima della fotocamera in modalità verticale
- 22. Mostra finestra di dialogo Android come finestra di dialogo in modalità verticale e come parte dell'attività in modalità orizzontale
- 23. Come sapere se la fotocamera dell'iPhone è pronta per scattare foto?
- 24. Forzare un'attività Android per utilizzare sempre la modalità orizzontale
- 25. Come sapere se la pagina è in modalità di modifica su un sito non di pubblicazione
- 26. Come bloccare l'orientamento dell'app Android in modalità verticale?
- 27. Tema personalizzato Android: tema diverso per la modalità orizzontale e verticale
- 28. Problema pushViewController da orizzontale a verticale
- 29. Ottieni UINavigationBar altezza orizzontale mentre il dispositivo è in verticale
- 30. riempimento verticale in muratura prima orizzontale
Vuoi conoscere l'orientamento del dispositivo o della foto? È possibile ottenere l'orientamento corrente del dispositivo con la risposta di Viren. Altrimenti, confronta l'altezza e la larghezza della foto per ottenere le proporzioni. Ma non ci sarebbe modo di conoscere l'orientamento reale. – jakev