Aktualizuję obraz zmieniający rozmiar aplikacji Mac. Co mogę zrobić, to jeśli użytkownik importuje obraz, który ma zostać zmieniony, a który ma PDFImageRep, zapisz nowy plik PDF z wybraną przeze mnie rozdzielczością.Zmiana rozmiaru pliku PDF NSImage OSX
Do tej pory starałem się rysować obraz w nowym rozmiarze, jak w:
- (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;
}
ale traci PDF obrazu rep, a zatem sprawia, że mój kod oszczędność niepowodzeniem.
- (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);
}
}
Jak to zrobić. Obrazy, które będę używał powinny być oparte na wektorach, więc czy jest jakiś sposób, aby zaktualizować właściwość w pliku PDF, aby określić nową rozdzielczość?