1

我有 NSView 300x300px 但我需要我的 NSView 的内容图像将 1000x1000px 保存到文件中。是否可以?我不想改变 NSView 的大小,它只是为了保存。

到目前为止,我有这个:

NSImage *viewImage = [[NSImage alloc] initWithData:[self dataWithPDFInsideRect:[self bounds]]];

[[viewImage TIFFRepresentation] writeToFile:@"..." atomically:YES];

它可以很好地保存 300x300px 图像(视图的大小),但是如何使 1000x1000px 的视图内容与 300x300 相同,只是更大的 1000x1000px 输出?

4

2 回答 2

0

创建所需大小的新图像锁定焦点,按(所需大小÷视图大小)缩放(考虑纵横比,除非您不介意拉伸内容),告诉视图绘制所有内容视图的 bounds解锁图像的焦点,并保存图像。

于 2012-04-27T06:29:29.327 回答
0

你可以试试,

假设您想将 NSImage 保存到文件中,

// it will save in the user document folder 
+(NSString *)writeImageToFile:(NSImage *)pImage FileName:(NSString *)pFileName{

    // Make the Complete File name 
    NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

    // yes it should be in the user document folder by default 
    NSString *pCompleteFileName = [docDir stringByAppendingPathComponent:pFileName];

    // now we can save the same 
    [[pImage TIFFRepresentation] writeToFile:pCompleteFileName atomically:YES];

    return pCompleteFileName;


}
于 2012-05-01T05:39:12.000 回答