mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-08 08:31:13 +00:00
33 lines
1.2 KiB
Objective-C
33 lines
1.2 KiB
Objective-C
#import "SVGKExporterNSData.h"
|
|
|
|
#import "SVGKImage+CGContext.h" // needed for Context calls
|
|
|
|
@implementation SVGKExporterNSData
|
|
|
|
+(NSData*) exportAsNSData:(SVGKImage*) image
|
|
{
|
|
return [self exportAsNSData:image flipYaxis:FALSE];
|
|
}
|
|
|
|
+(NSData*) exportAsNSData:(SVGKImage*) image flipYaxis:(BOOL) flipYaxis
|
|
{
|
|
return [self exportAsNSData:image antiAliased:TRUE curveFlatnessFactor:1.0 interpolationQuality:kCGInterpolationDefault flipYaxis:flipYaxis];
|
|
}
|
|
|
|
+(NSData*) exportAsNSData:(SVGKImage*) image antiAliased:(BOOL) shouldAntialias curveFlatnessFactor:(CGFloat) multiplyFlatness interpolationQuality:(CGInterpolationQuality) interpolationQuality flipYaxis:(BOOL) flipYaxis
|
|
{
|
|
CGContextRef newContext = [image newCGContextAutosizedToFit];
|
|
|
|
[image renderToContext:newContext antiAliased:shouldAntialias curveFlatnessFactor:multiplyFlatness interpolationQuality:interpolationQuality flipYaxis: flipYaxis];
|
|
|
|
void* resultAsVoidStar = CGBitmapContextGetData(newContext);
|
|
|
|
size_t dataSize = 4 * image.size.width * image.size.height; // RGBA = 4 8-bit components
|
|
NSData* result = [NSData dataWithBytes:resultAsVoidStar length:dataSize];
|
|
|
|
CGContextRelease(newContext);
|
|
|
|
return result;
|
|
}
|
|
@end
|