我正在尝试使用C / C ++在OSX上截取屏幕截图。 到目前为止,这就是我得到的:
#import <ApplicationServices/ApplicationServices.h>
int main( int argc, char** argv) {
CGImageRef screenShot = CGWindowListCreateImage( CGRectInfinite,
kCGWindowListOptionOnScreenOnly, kCGNullWindowID, kCGWindowImageDefault);
CFStringRef file = CFSTR("/Users/aduh/Desktop/lala.jpg");
CFStringRef type = CFSTR("public.jpeg");
CFURLRef urlRef = CFURLCreateWithString( NULL, file, NULL );
CGImageDestinationRef idst = CGImageDestinationCreateWithURL( urlRef, type, 1, NULL );
CGImageDestinationAddImage( idst, screenShot, NULL );
CGImageDestinationFinalize( idst );}
编译很好但没有真正发生。我可能只是犯了一个愚蠢的错误,所以如果有人能指出我正确的方向那就太棒了!
答案 0 :(得分:1)
正如上面提到的那样,这可以像这样修复,如果重要的话我也使用C ++:
CFURLRef urlRef = CFURLCreateWithFileSystemPath( kCFAllocatorDefault, file, kCFURLPOSIXPathStyle, false );
答案 1 :(得分:0)
将CFURLCreateWithString()
替换为CFURLCreateWithSystemPath()