Mercurial > dwindows
comparison ios/dw.m @ 2438:f273dbf1312f
iOS: Fix DWImage internal core graphics context being flipped.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 07 Apr 2021 00:16:42 +0000 |
parents | 929ce3cd18ea |
children | 070337dd4ef7 |
comparison
equal
deleted
inserted
replaced
2437:929ce3cd18ea | 2438:f273dbf1312f |
---|---|
1510 self = [super init]; | 1510 self = [super init]; |
1511 if(self) | 1511 if(self) |
1512 { | 1512 { |
1513 CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB(); | 1513 CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB(); |
1514 CGContextRef cgcontext = CGBitmapContextCreate(NULL, size.width, size.height, 8, 0, rgb, kCGImageAlphaPremultipliedFirst); | 1514 CGContextRef cgcontext = CGBitmapContextCreate(NULL, size.width, size.height, 8, 0, rgb, kCGImageAlphaPremultipliedFirst); |
1515 CGAffineTransform flipVertical = CGAffineTransformMake(1, 0, 0, -1, 0, size.height); | |
1516 CGContextConcatCTM(cgcontext, flipVertical); | |
1515 CGImageRef cgimage = CGBitmapContextCreateImage(cgcontext); | 1517 CGImageRef cgimage = CGBitmapContextCreateImage(cgcontext); |
1516 image = [UIImage imageWithCGImage:cgimage]; | 1518 image = [UIImage imageWithCGImage:cgimage]; |
1517 CGContextRelease(cgcontext); | 1519 CGContextRelease(cgcontext); |
1518 [image retain]; | 1520 [image retain]; |
1519 } | 1521 } |
1573 { | 1575 { |
1574 CGSize size = [image size]; | 1576 CGSize size = [image size]; |
1575 CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB(); | 1577 CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB(); |
1576 | 1578 |
1577 cgcontext = CGBitmapContextCreate(NULL, size.width, size.height, 8, 0, rgb, kCGImageAlphaPremultipliedFirst); | 1579 cgcontext = CGBitmapContextCreate(NULL, size.width, size.height, 8, 0, rgb, kCGImageAlphaPremultipliedFirst); |
1580 CGAffineTransform flipVertical = CGAffineTransformMake(1, 0, 0, -1, 0, size.height); | |
1581 CGContextConcatCTM(cgcontext, flipVertical); | |
1578 CGContextDrawImage(cgcontext, CGRectMake(0,0,size.width,size.height), [image CGImage]); | 1582 CGContextDrawImage(cgcontext, CGRectMake(0,0,size.width,size.height), [image CGImage]); |
1579 } | 1583 } |
1580 return cgcontext; | 1584 return cgcontext; |
1581 } | 1585 } |
1582 -(void)dealloc { if(cgcontext) CGContextRelease(cgcontext); if(image) [image release]; [super dealloc]; } | 1586 -(void)dealloc { if(cgcontext) CGContextRelease(cgcontext); if(image) [image release]; [super dealloc]; } |