8
votes

Image d'écran de capture en C ++ sur OSX

existe-t-il un moyen de prendre une capture d'écran (ou d'avoir accès à une image) de l'écran actuel de l'écran sur un Mac?

de préférence, en C ++, pas objectif-c.


0 commentaires

3 Réponses :


0
votes

0 commentaires

0
votes

Je recommande l'utilisation des services d'affichage de quartz et de la fonction cgdisplaycreateImage ()


0 commentaires

2
votes

J'ai travaillé sur le même problème. C'est le code que j'ai proposé après avoir cherché un moment.

CGImageRef screenShot = CGWindowListCreateImage( CGRectInfinite, kCGWindowListOptionOnScreenOnly, kCGNullWindowID, kCGWindowImageDefault);

//std::string image_name = "/Users/nikhil/Desktop/SC_";
//image_name+=str;
//cout<<str<<endl;

//image_name+=".jpg";
//cout<<image_name<<endl;
CFStringRef file = CFSTR("/Users/nikhil/Desktop/SC.jpg");
CFStringRef type = CFSTR("public.jpeg");
CFURLRef urlRef = CFURLCreateWithFileSystemPath( kCFAllocatorDefault, file, kCFURLPOSIXPathStyle, false );
CGImageDestinationRef image_destination = CGImageDestinationCreateWithURL( urlRef, type, 1, NULL );
CGImageDestinationAddImage( image_destination, screenShot, NULL );
CGImageDestinationFinalize( image_destination );


0 commentaires