iPhone: Wie man die Farbe eines Bildes ändern
Frage
Ich habe ein kleines Bild aus einer Datenbank und das durchschnittlichen Farbe Bedürfnisse Bild leicht verändert werden.
Es ist ein CGImageRef und ich dachte, einen CGContext zu schaffen, um das Bild zu diesem Zusammenhang zeichnet, dann anschließend die Bitmap-Daten zu ändern irgendwie und macht es schließlich. Aber wie kann ich die Farbinformationen ändern?
Vielen Dank für Ihre Hilfe!
Lösung
Schauen Sie sich dieses Bild Apple-Q & A auf Pixeldatenmanipulation für Details, wie Sie könnten darüber gehen.
Andere Tipps
eine Farbe auf das Objekt wie folgt aus:
// first draw image
[self.image drawInRect:rect];
// prepare the context to draw into
CGContextRef context = UIGraphicsGetCurrentContext();
// set the blend mode and draw rectangle on top of image
CGContextSetBlendMode(context, kCGBlendModeColor);
CGContextClipToMask(context, self.bounds, image.CGImage); // this restricts drawing to within alpha channel
CGContextSetRGBFillColor(context, 0.75, 0.0, 0.0, 1.0); // this is your color, a light reddish tint
CGContextFillRect(context, rect);
Ich habe dies in den drawRect: Methode eines benutzerdefinierten UIView. Das UIView hat eine Ivar, UIImage * Bild, das das Bild hält Sie Tönung oder Farbe wünschen.