图片处理view - 成图,
方法一:
-(UIImage?*)clipImageFromImage:(UIImage?*)orgImage? Rect:(CGRect)clipRect{
? ??CGImageRef?imageRef = orgImage.CGImage;
? ??CGImageRef?subImageRef =?CGImageCreateWithImageInRect(imageRef, clipRect);
? ??CGSize?size;
? ? size = clipRect.size;
? ??UIGraphicsBeginImageContext(size);
? ??CGContextRef?context =?UIGraphicsGetCurrentContext();
? ??CGContextDrawImage(context, clipRect, subImageRef);
? ??UIImage* clipImage = [UIImage?imageWithCGImage:subImageRef];
? ??CGImageRelease(subImageRef);
? ??UIGraphicsEndImageContext();
? ??return?clipImage;
}
方法二:self.view.frame = CGRectMake(0, 0, 68, 53);//設(shè)置圖片的大小
UIImageView *bgImg = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 68, 53)];//設(shè)置圖片的背景圖片
bgImg.image = [UIImage imageNamed:@"1.png"];
[self.view addSubview:bgImg];
[bgImg release];
if(lab == nil)
lab = [[UILabel alloc] initWithFrame:CGRectMake(0, 20, 68, 30)];//設(shè)置圖片上面的文字顯示
lab.textAlignment = UITextAlignmentCenter;
lab.textColor = [UIColor blackColor];
lab.backgroundColor = [UIColor clearColor];
lab.text = [[titleArray objectAtIndex:i] objectAtIndex:0];
[self.view addSubview:lab];
UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *aImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *imageData = UIImagePNGRepresentation(aImage);
UIImage *img = [UIImage imageWithData:imageData];//生成的圖片
方法三:
//將image1拼接到image2上
- (UIImage?*)addImage:(UIImage?*)image1 toImage:(UIImage?*)image2
{
? ??@autoreleasepool?{
? ? ? ??CGSize?size;
? ? ? ??if?(image1.size.width?> image2.size.width) {
? ? ? ? ? ? size =?CGSizeMake(image1.size.width, image1.size.height+image2.size.height);
? ? ? ? }?else?{
? ? ? ? ? ? size =?CGSizeMake(image2.size.width, image1.size.height+image2.size.height);
? ? ? ? }
? ? ? ??UIGraphicsBeginImageContext(size);
? ? ? ??// Draw image1
? ? ? ? [image1?drawInRect:CGRectMake(image1.size.width?> image2.size.width?0:(image2.size.width-image1.size.width)/2, image2.size.height, image1.size.width, image1.size.height)];
? ? ? ??// Draw image2
? ? ? ? [image2?drawInRect:CGRectMake(image1.size.width?> image2.size.width?(image1.size.width-image2.size.width)/2:0,?0, image2.size.width, image2.size.height)];
? ? ? ??UIImage?*resultingImage =?UIGraphicsGetImageFromCurrentImageContext();
? ? ? ??UIGraphicsEndImageContext();
? ? ? ??return?resultingImage;
? ? }
}
//圖片縮放
- (UIImage?*)convertImage:(UIImage?*)origImage scope:(CGFloat)scope
{
? ??UIImage?*image =?nil;
? ??CGSize?size = origImage.size;
? ??if?(size.width?<= scope && size.height?<= scope) {
? ? ? ??// do nothing
? ? ? ? image = origImage;
? ? }?else?{
? ? ? ??CGFloat?length = size.width;
? ? ? ??if?(size.width?< size.height) {
? ? ? ? ? ? length = size.width;
? ? ? ? }
? ? ? ??CGFloat?f = scope/length;
? ? ? ??CGSize?newSize =?CGSizeMake(size.width*f, size.height*f);
? ? ? ??//
? ? ? ??UIGraphicsBeginImageContext(newSize);
? ? ? ??// Tell the old image to draw in this new context, with the desired
? ? ? ??// new size
? ? ? ? [origImage?drawInRect:CGRectMake(0,?0, newSize.width, newSize.height)];
? ? ? ??// Get the new image from the context
? ? ? ? image =?UIGraphicsGetImageFromCurrentImageContext();
? ? ? ??UIGraphicsEndImageContext();
? ? }
? ??return?image;
}
//將webView上面的內(nèi)容轉(zhuǎn)化為圖片
- (UIImage *)webContentImage{
CGSize boundsSize = web.bounds.size;
CGFloat boundsWidth = web.bounds.size.width;
CGFloat boundsHeight = web.bounds.size.height;
CGPoint offset = web.scrollView.contentOffset;
[web.scrollView setContentOffset:CGPointMake(0, 0)];
CGFloat contentHeight = web.scrollView.contentSize.height;
NSMutableArray *images = [NSMutableArray array];
while (contentHeight > 0) {
UIGraphicsBeginImageContext(boundsSize);
視圖生產(chǎn)界面,圖片拼接,縮放處理
[web.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[images addObject:image];
CGFloat offsetY = web.scrollView.contentOffset.y;
[web.scrollView setContentOffset:CGPointMake(0, offsetY + boundsHeight)];
contentHeight -= boundsHeight;
}
[web.scrollView setContentOffset:offset];
UIGraphicsBeginImageContext(web.scrollView.contentSize);
[images enumerateObjectsUsingBlock:^(UIImage *image, NSUInteger idx, BOOL *stop) {
[image drawInRect:CGRectMake(0, boundsHeight * idx, boundsWidth, boundsHeight)];
}];
UIImage *fullImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return fullImage;
}
總結(jié)
以上是生活随笔為你收集整理的图片处理view - 成图,的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在软件里显示编译时间?__DATE_
- 下一篇: 如何在软件里显示编译时间