Je vais essayer d'obtenir la capture d'écran de l'affichage de la rétine, et dessiner cette image sur la fenêtre.Cacao - capture d'écran et dessiner (rétine)
Je peux obtenir la capture
CGDirectDisplayID displayId = CGMainDisplayID()
CGImage imageRef = CGDisplayCreateImage(displayId)
image ont une taille 2560x1600
Maintenant, je dois dessiner cette image sur la fenêtre. Mais si, je redimensionne la fenêtre en plein écran, la taille de retour de la fenêtre 1280x800. Si je ne dessine pas l'image sur la fenêtre, j'ai besoin de l'image d'échelle à 1280x800. Image perte de qualité, ce n'est pas bon.
S'il vous plaît aidez-moi, comment puis-je obtenir une capture d'écran de l'affichage de la rétine et dessiner son sur la fenêtre, sans perte de qualité?
NSImage peut avoir plusieurs représentations. Vous pouvez conserver les deux résolutions dans l'image en tant que représentation. S'il vous plaît se référer ce lien pour cela http://stackoverflow.com/questions/12681902/issues-with-nsimage-add-representation-in-retina-display –
par exemple CGDirectDisplayID displayID = CGMainDisplayID(); CGImageRef imageRef = CGDisplayCreateImage (displayID); NSSize tailleRef; sizeRef.width = CGImageGetWidth (imageRef); sizeRef.height = CGImageGetHeight (imageRef); NSImage * imageCG = [[allocation NSImage] initWithCGImage: taille imageRef: tailleRef]; NSBitmapImageRep * imgRep = [[représentations imageCG] objectAtIndex: 0]; NSData * data = [imgRep representationUsingType: NSPNGFileType propriétés: néant]; [data writeToFile: @ "/ Desktop/file.png" atomiquement: NO]; Je comprends bien? –
je vérifie l'image, son a une représentation. –