mirror of
https://github.com/zoriya/react-native-svg.git
synced 2026-06-07 08:45:00 +00:00
Fix Image in iOS
This commit is contained in:
@@ -129,11 +129,8 @@
|
||||
CGRect vbRect = CGRectMake(0, 0, CGRectGetWidth(renderRect), CGRectGetHeight(renderRect));
|
||||
CGRect eRect = CGRectMake(canvasLeft, canvasTop, rectWidth, rectHeight);
|
||||
|
||||
CGAffineTransform transform = [RNSVGViewBox getTransform:vbRect eRect:eRect align:self.align meetOrSlice:self.meetOrSlice fromSymbol:NO];
|
||||
CGAffineTransform transform = [RNSVGViewBox getTransform:vbRect eRect:eRect align:self.align meetOrSlice:self.meetOrSlice];
|
||||
|
||||
CGFloat dx = rectX + canvasLeft;
|
||||
CGFloat dy = rectY + canvasTop;
|
||||
renderRect = CGRectApplyAffineTransform(renderRect, CGAffineTransformMakeTranslation(-dx, -dy));
|
||||
renderRect = CGRectApplyAffineTransform(renderRect, transform);
|
||||
|
||||
[self clip:context];
|
||||
@@ -150,7 +147,7 @@
|
||||
CGFloat y = [self relativeOnHeight:self.y];
|
||||
CGFloat width = [self relativeOnWidth:self.width];
|
||||
CGFloat height = [self relativeOnHeight:self.height];
|
||||
return CGRectMake(x, y, x + width, y + height);
|
||||
return CGRectMake(x, y, width, height);
|
||||
}
|
||||
|
||||
- (CGPathRef)getPath:(CGContextRef)context
|
||||
|
||||
@@ -115,8 +115,7 @@
|
||||
_viewBoxTransform = [RNSVGViewBox getTransform:CGRectMake(self.minX, self.minY, self.vbWidth, self.vbHeight)
|
||||
eRect:rect
|
||||
align:self.align
|
||||
meetOrSlice:self.meetOrSlice
|
||||
fromSymbol:NO];
|
||||
meetOrSlice:self.meetOrSlice];
|
||||
CGContextConcatCTM(context, _viewBoxTransform);
|
||||
}
|
||||
|
||||
|
||||
@@ -85,8 +85,7 @@
|
||||
CGAffineTransform viewBoxTransform = [RNSVGViewBox getTransform:CGRectMake(self.minX, self.minY, self.vbWidth, self.vbHeight)
|
||||
eRect:eRect
|
||||
align:self.align
|
||||
meetOrSlice:self.meetOrSlice
|
||||
fromSymbol:YES];
|
||||
meetOrSlice:self.meetOrSlice];
|
||||
|
||||
CGContextConcatCTM(context, viewBoxTransform);
|
||||
}
|
||||
|
||||
@@ -11,6 +11,6 @@
|
||||
|
||||
@interface RNSVGViewBox : NSObject
|
||||
|
||||
+ (CGAffineTransform)getTransform:(CGRect)vbRect eRect:(CGRect)eRect align:(NSString *)align meetOrSlice:(RNSVGVBMOS)meetOrSlice fromSymbol:(BOOL)fromSymbol;
|
||||
+ (CGAffineTransform)getTransform:(CGRect)vbRect eRect:(CGRect)eRect align:(NSString *)align meetOrSlice:(RNSVGVBMOS)meetOrSlice;
|
||||
|
||||
@end
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
@implementation RNSVGViewBox
|
||||
|
||||
+ (CGAffineTransform)getTransform:(CGRect)vbRect eRect:(CGRect)eRect align:(NSString *)align meetOrSlice:(RNSVGVBMOS)meetOrSlice fromSymbol:(BOOL)fromSymbol
|
||||
+ (CGAffineTransform)getTransform:(CGRect)vbRect eRect:(CGRect)eRect align:(NSString *)align meetOrSlice:(RNSVGVBMOS)meetOrSlice
|
||||
{
|
||||
// based on https://svgwg.org/svg2-draft/coords.html#ComputingAViewportsTransform
|
||||
|
||||
|
||||
Reference in New Issue
Block a user