Ios 目标C/绘图和解决问题
我需要创建一个图像日历(它们的大小为640 x 960或960 x 640)。现在我尝试的一种方法是创建一个视图,向其中添加一个图像视图,用子视图显示图像,“绘制”,然后保存到一个文件中 现在它按计划工作,但在模拟器中测试,保存图像的分辨率是306x462(我保存的视图的大小)。现在我失去了一半原来的决心 有办法解决这个问题吗 保存视图的代码:Ios 目标C/绘图和解决问题,ios,uiimageview,uiimage,drawing,resolution,Ios,Uiimageview,Uiimage,Drawing,Resolution,我需要创建一个图像日历(它们的大小为640 x 960或960 x 640)。现在我尝试的一种方法是创建一个视图,向其中添加一个图像视图,用子视图显示图像,“绘制”,然后保存到一个文件中 现在它按计划工作,但在模拟器中测试,保存图像的分辨率是306x462(我保存的视图的大小)。现在我失去了一半原来的决心 有办法解决这个问题吗 保存视图的代码: UIGraphicsBeginImageContext(self.backgroundImageView.bounds.size); [self.bac
UIGraphicsBeginImageContext(self.backgroundImageView.bounds.size);
[self.backgroundImageView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
NSString *fullPath = [NSString stringWithFormat:@"%@/Calendar.png",basePath];
NSData * binaryImageData = UIImagePNGRepresentation(image);
[binaryImageData writeToFile:fullPath atomically:YES];
如果有人有类似的问题,我提出了两种解决方案: 1) 在保存之前放大所有内容(您必须使用自动调整大小功能)
2) 将所有内容放入scrollView并以大尺寸显示,以便用户在想要查看所有内容时可以四处滚动。您没有考虑设备屏幕比例,应该这样做:
UIGraphicsBeginImageContextWithOptions(self.backgroundImageView.bounds.size,是,[UIScreen mainScreen].scale)代码>