mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 08:15:31 +00:00
Bug 1561756 - Convert the NSImage into an NSBitmapImageRep without using lockFocus. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D36124 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
95706218a2
commit
b7d0b6adf0
@ -77,12 +77,11 @@ NSString* const openSharingSubpaneProtocolValue = @"com.apple.share-services";
|
||||
@end
|
||||
|
||||
static NSString* NSImageToBase64(const NSImage* aImage) {
|
||||
[aImage lockFocus];
|
||||
NSBitmapImageRep* bitmapRep = [[NSBitmapImageRep alloc]
|
||||
initWithFocusedViewRect:NSMakeRect(0, 0, aImage.size.width, aImage.size.height)];
|
||||
[aImage unlockFocus];
|
||||
NSRect rect = NSMakeRect(0, 0, aImage.size.width, aImage.size.height);
|
||||
NSImageRep* bestRep = [aImage bestRepresentationForRect:rect context:nil hints:nil];
|
||||
NSData* tiffData = [NSBitmapImageRep TIFFRepresentationOfImageRepsInArray:@[ bestRep ]];
|
||||
NSBitmapImageRep* bitmapRep = [NSBitmapImageRep imageRepWithData:tiffData];
|
||||
NSData* imageData = [bitmapRep representationUsingType:NSPNGFileType properties:@{}];
|
||||
[bitmapRep release];
|
||||
NSString* base64Encoded = [imageData base64EncodedStringWithOptions:0];
|
||||
return [NSString stringWithFormat:@"data:image/png;base64,%@", base64Encoded];
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user