Ich aktualisiere ein Bild, das die Größe der Mac App ändert. Was ich will, ist zu tun, um der Lage sein, wenn der Benutzer ein Bild importiert werden verkleinert, die eine PDFImageRep hat, speichern Sie eine neue PDF-Datei mit einer Auflösung von meiner Wahl.Größe ändern PDF NSImage OSX
Bisher habe ich versucht, das Bild mit einer neuen Größe zu ziehen, wie in:
- (NSImage*)imageAtSize:(NSSize)newSize
{
NSImage *resizedImage = [[NSImage alloc] initWithSize:newSize];
[resizedImage lockFocus];
[self drawInRect:NSMakeRect(0, 0, newSize.width, newSize.height)
fromRect:NSMakeRect(0, 0, self.size.width, self.size.height)
operation:NSCompositeSourceOver fraction:1.0];
[resizedImage unlockFocus];
return resizedImage;
}
aber verliert das PDF-Bild rep, und deshalb macht meinen Sparcode fehlschlagen.
- (void)saveAsPDFWithOutputDirectory:(NSURL *)outputDirectory size:(NSSize)newSize
{
NSPDFImageRep *pdfRep = [self PDFImageRep];
[pdfRep setSize:newSize];
NSError *error = nil;
[pdfRep.PDFRepresentation writeToURL:outputDirectory options:NSDataWritingAtomic error:&error];
if (error)
{
CLS_LOG(@"Error saving image: %@", error);
}
}
So wie ich es tun. Die Bilder, die ich verwenden werde, sollten vektorbasiert sein. Gibt es also eine Möglichkeit, eine Eigenschaft in der PDF-Datei zu aktualisieren, um eine neue Auflösung anzugeben?