1

私は NSView 300x300px を持っていますが、NSView のコンテンツ画像を 1000x1000px でファイルに保存する必要があります。出来ますか?保存するためだけに NSView のサイズを変更したくありません。

これまでのところ、私はこれを持っています:

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

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

300x300px の画像 (View のサイズ) を保存する場合は問題なく動作しますが、View のコンテンツを 300x300 と同じ 1000x1000px で 1000x1000px の出力にする方法は?

4

2 に答える 2

0

目的のサイズの新しい画像を作成し、それにフォーカスを固定し、 (目的のサイズ ÷ ビューのサイズ) で拡大縮小し (コンテンツを引き延ばしてもかまわない場合を除き、縦横比を考慮して)、ビューにすべてを描画するように指示します。ビューの境界、画像へのフォーカスのロックを解除し、画像を保存します。

于 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 に答える