BTUIKVectorArtView.m 828 B

12345678910111213141516171819202122232425262728293031
  1. #import "BTUIKVectorArtView.h"
  2. @import QuartzCore;
  3. @implementation BTUIKVectorArtView
  4. - (void)drawRect:(CGRect)rect
  5. {
  6. CGContextRef ctx = UIGraphicsGetCurrentContext();
  7. CGContextSaveGState(ctx);
  8. CGFloat scaleFactor = MIN(rect.size.width/self.artDimensions.width, rect.size.height/self.artDimensions.height);
  9. CGContextScaleCTM(ctx, scaleFactor, scaleFactor);
  10. CGContextTranslateCTM(ctx, rect.origin.x, rect.origin.y);
  11. [self drawArt];
  12. CGContextRestoreGState(ctx);
  13. }
  14. - (void)drawArt {
  15. // Subclass overrides this
  16. }
  17. - (UIImage *)imageOfSize:(CGSize)size {
  18. UIGraphicsBeginImageContextWithOptions(size, NO, 0);
  19. [self drawRect:CGRectMake(0, 0, size.width, size.height)];
  20. UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
  21. UIGraphicsEndImageContext();
  22. return img;
  23. }
  24. @end