2

** 我有两个图像视图,一个用于背景,一个用于前景,我正在前景图像视图上绘图。对于擦除功能,我这样做是因为我不想在擦除时擦除背景图像。它做得很好。现在我想保存该图像(背景+前景),我需要通过邮件对其进行打磨。这可能吗?**

    - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

    if (doodlemode==YES){

    UITouch *touch = [touches anyObject];

    previousPoint2 = previousPoint1;
    previousPoint1 = [touch previousLocationInView:self.view];
    currentPoint = [touch locationInView:self.view];


    // calculate mid point
    CGPoint mid1 = midPoint(previousPoint1, previousPoint2);
    CGPoint mid2 = midPoint(currentPoint, previousPoint1);

    UIGraphicsBeginImageContext(imageDoodle.frame.size);

    CGContextRef context = UIGraphicsGetCurrentContext();


     [imgView.image drawInRect:CGRectMake(0, 0, imageDoodle.frame.size.width,      

     imageDoodle.frame.size.height)];

    CGContextMoveToPoint(context, mid1.x, mid1.y);

    CGContextAddQuadCurveToPoint(context, previousPoint1.x, previousPoint1.y, mid2.x, mid2.y);

    CGContextSetLineCap(context, kCGLineCapRound);

    [imgView.layer renderInContext:UIGraphicsGetCurrentContext()];

    //this is for erase
    if(IsErase)
    {
    CGContextSetBlendMode(context,kCGBlendModeClear);
    }
    //make a strok color
    else
    {
    CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), redvalue, greenvalue, bluevalue,  

    1.0);
    }

    CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 8.0);
    //size of stroke

    CGContextStrokePath(UIGraphicsGetCurrentContext());


    imgView.image = UIGraphicsGetImageFromCurrentImageContext();


     UIGraphicsEndImageContext();

    }

 }
   -(IBAction)sharePrint{
    //Compose email with activity sheet attached

     MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];

     picker.mailComposeDelegate = self;

    [UIImage imageNamed:@"feedback.png"]]];

    *//here i nedd to sand that. Image  how can i?*

     NSData *imageData = UIImagePNGRepresentation(imgView.image);

    [picker addAttachmentData:imageData mimeType:@"image/png" fileName:@"shared.png"];

     //Show Mail view with composed email

    [self presentModalViewController:picker animated:YES];

     }
4

2 回答 2

2
-(无效)一些方法{
    UIImage *newImage = [self captureScreen];
    IBbtn1.hidden = 假;
    IBbtn2.hidden = 假;
}

- (UIImage *) captureScreen {

    IBbtn1.hidden = TRUE;
    IBbtn2.hidden = TRUE;

    CGRect rect = [wrapperView 边界];
    UIGraphicsBeginImageContext(rect.size);
    CGContextRef 上下文 = UIGraphicsGetCurrentContext();
    [wrapperView.layer renderInContext:context];
    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    返回图片;
}

于 2013-01-21T11:02:25.903 回答
0

您可以捕获具有背景和前景图像的视图并将其存储为单一图像,并可以邮寄该捕获的图像。

于 2013-01-21T08:26:20.977 回答