voglio qualcosa come segueCome ottenere un'immagine a colori con iPhone SDK
UIImage *solid = [UIImage imageWithColor:[UIColor darkGrayColor]];
per creare un'immagine rispetto a un certo colore.
come farlo in iPhone sdk.
voglio qualcosa come segueCome ottenere un'immagine a colori con iPhone SDK
UIImage *solid = [UIImage imageWithColor:[UIColor darkGrayColor]];
per creare un'immagine rispetto a un certo colore.
come farlo in iPhone sdk.
È possibile disegnare il colore in un CGContext e quindi acquisire un'immagine da esso:
- (UIImage *)imageWithColor:(UIColor *)color andSize:(CGSize)size {
//Create a context of the appropriate size
UIGraphicsBeginImageContext(size);
CGContextRef currentContext = UIGraphicsGetCurrentContext();
//Build a rect of appropriate size at origin 0,0
CGRect fillRect = CGRectMake(0,0,size.width,size.height);
//Set the fill color
CGContextSetFillColorWithColor(currentContext, color.CGColor);
//Fill the color
CGContextFillRect(currentContext, fillRect);
//Snap the picture and close the context
UIImage *retval = UIGraphicsGetImageFromCurrentImageContext(void);
UIGraphicsEndImageContext();
return retval;
}
Se stai solo cercando di creare un solido rettangolo di colore perché non basta fare una cosa del genere
UIView *solid = [[UIView alloc] initWithFrame:someFrame];
solid.backgroundColor = [UIColor greyColor];
E quindi aggiungere la vista a qualsiasi visualizzazione secondaria che si desidera mostrare il colore solido.
(Cioè, ovviamente solo se è questo che stai cercando di ottenere. Forse non sei)
Credo che ci sia un metodo che rende più facile che disegnarlo. L'ho visto qualche volta mentre navigavo ma me lo ricordo. Ho pensato di pubblicarlo qui se qualcuno lo sa. – rkb
Disegnare è ~ 7 linee che puoi avvolgere in un metodo comodo, non lo vedo molto più facile, non è esattamente una funzione comune. –
Considera UIGraphicsGetImageFromCurrentImageContext(); invece di UIGraphicsGetImageFromCurrentImageContext (void); – LordParsley