Wie füllen CGContext mit UIImage?
Ich Unterklasse UIView
ich überschreiben -drawRect:
ich zeichne ein Bild von CGContext
. Und jetzt will ich füllen diese Abbildung mit UIImage
. Keine Ahnung, wie es zu tun?
EDIT:
Meinen Code aus -drawRect:
CGContextBeginPath(ctx);
//here I draw my figure
CGContextClosePath(ctx);
CGContextClip(ctx);
//this doesn't work
UIImage * image = [UIImage imageNamed:@"blackbackground.jgp"];
[image drawInRect:rect];
//this neither
CGImageRef cgImage = image.CGImage;
CGContextDrawImage(ctx, rect, cgImage);
Ich denke, ein wenig mehr detail ist erforderlich. Wenn Sie sagen, 'füllen', meinen Sie füllen wie in einem paint Programm, oder meinst du, dass Sie nur wollen, um Ihr Bild malen, um den Kontext, oder brauchen Sie die Maske Ihr Bild mit Ihrer Figur?
Ich habe ein roundrect Figur, und eine rect-Bild. Zuerst muss ich die Strecke Bild passend für meine Figur. Natalies ich möchte Bild die Ecken rund sein, wie in meiner Abbildung. Hast du verstanden, oder ich unnötig komplizieren?
Ich habe ein roundrect Figur, und eine rect-Bild. Zuerst muss ich die Strecke Bild passend für meine Figur. Natalies ich möchte Bild die Ecken rund sein, wie in meiner Abbildung. Hast du verstanden, oder ich unnötig komplizieren?
InformationsquelleAutor Radek Wilczak | 2012-07-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
die richtige Art und Weise zu zeichnen Sie ein Bild auf die
CGContext
ist diese:InformationsquelleAutor holex
Was Sie brauchen, ist zum clip-Rahmen mit dem Bild Pfad und zeichnen Sie Ihr Bild. Haben Sie einen Blick auf diese Antwort, die erklärt, wie man den ersten Teil Wie füge ich einen Farbverlauf auf text UILabel, aber nicht der hintergrund? und einmal haben Sie den Rahmen geclipst, einfach das UIImage und rufen Sie eine der Funktionen zum zeichnen wie drawInRect...
der code scheint in Ordnung; können Sie das bestätigen, dass das Bild nicht "null" und auch versuchen, zeichnen Sie das Bild mit der Abbildung clipping auskommentiert, nur um zu sehen, wenn das Bild drawrect funktioniert?
InformationsquelleAutor Peter Pajchl
Unter der Annahme, dass du meinst, dass Sie möchten, zeichnen Sie das Bild "innen" Ihrer Figur, der einfachste Weg wäre eine cgpath der Figur, stellen Sie sicher, dass der Pfad geschlossen ist, und dann CGContextClipToPath( context path)
HINZUGEFÜGT
Ich habe gerade deinen code getestet, und, wie Peter sagte, es sollte funktionieren.
Ich würde empfehlen, dass das testen Ihren Weg ( setzen Sie den Schlaganfall Farbe und den Strich Weg), und zu versuchen, das Bild ohne Maske, um herauszufinden, wo das problem ist.
InformationsquelleAutor Gordon Dove