Ich versuche, Bild mit UIImage
's drawInRect:
Methode zu zeichnen. Hier ist der Code:UIImage drawInrect: glättet Bild
UIImage *image = [UIImage imageNamed:@"OrangeBadge.png"];
UIGraphicsBeginImageContext(image.size);
[image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
UIImage *resultImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Das Problem ist, dass das resultierende Bild verschwommen ist. Hier ist das resultierende Bild (auf der rechten Seite) im Vergleich zu dem Quellbild (auf der linken Seite):
Ich habe versucht beide CGContextSetAllowsAntialiasing(UIGraphicsGetCurrentContext(), NO)
CGContextSetShouldAntialias(UIGraphicsGetCurrentContext(), NO)
aber dies nicht das Problem lösen.
Irgendwelche Ideen?
Vielen Dank im Voraus.
Ich würde nicht empfehlen float Gleichheit Überprüfung mit '=='. Alles, was Sie tun müssen, ist die Skalierung auf "0.f", und der Rahmen kümmert sich um den Rest. (siehe http://stackoverflow.com/questions/2765537/how-doi-i-use-the-nsstring-draw-functionality-to-create-a-uiimage-from-text) – Mazyod
Vielen Dank! Dies löst das Problem. 'if ([UIScreen instancesRespondToSelector: @selector (scale)])' - Wird diese Zeile für iOS3 unterstützt? 'scale' Eigenschaft wird ab iOS 4.0 unterstützt. – tonytony
@Mazyod Bin ich richtig zu verstehen, dass '0.0f' wird das Framework behandeln die richtige Skala, unabhängig davon, ob das ist Retina oder nicht-Retina auf dem richtigen Gerät? – Timo