Sto riscontrando un'incongruenza tra uno screenshot (usando programmaticamente il codice seguente) e ciò che è effettivamente sullo schermo quando un'immagine viene ingrandita (molto lontano nel mio caso) e resa vicino-vicino per preservare i bordi duri. Ho ottenuto il seguente codice di screenshot da questi forum, ma ciò che viene salvato è un rendering (bilineare?) Dell'immagine anziché un vicino più vicino.screenshot programmatico travisando il vicino più prossimo
UIGraphicsBeginImageContextWithOptions([[UIScreen mainScreen] bounds].size, NO, 0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *imageView = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(imageView, nil, nil, nil);
il mio modo di fare più vicino-vicino di casa è con la seguente riga nel viewDidLoad
automataView.layer.magnificationFilter = kCAFilterNearest;
(automataView è un'UIImageView con un file GIF in esso, e viene aggiunto come una visualizzazione secondaria ad un'UIScrollView che gestisce lo zoom)
Ecco due immagini, la prima è ciò che è sullo schermo, la seconda è ciò che viene salvato utilizzando il codice di cui sopra. (Mi dispiace per i collegamenti - "come un meccanismo di prevenzione dello spam, i nuovi utenti non posso accedere a pubblicare immagini")
http://www.flickr.com/photos/[email protected]/8358662379/
http://www.flickr.com/photos/[email protected]/8358662715/
Grazie per tutto l'aiuto!
Avete trovato qualche soluzione? –