Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iphone应用程序开发中添加两个uiimageview并将其保存到iphone照片库?_Iphone_Ios_Uiimageview_Uiimagepickercontroller_Save Image - Fatal编程技术网

如何在iphone应用程序开发中添加两个uiimageview并将其保存到iphone照片库?

如何在iphone应用程序开发中添加两个uiimageview并将其保存到iphone照片库?,iphone,ios,uiimageview,uiimagepickercontroller,save-image,Iphone,Ios,Uiimageview,Uiimagepickercontroller,Save Image,我要直截了当地说,我的问题是,我有一个uiview控制器,它有3个按钮和一个uiimage视图。现在 当我按下第一个按钮时,我正在从iphone默认照片库中拍摄图像,并将其放置在uiimageview上 当我按下第二个按钮时,它将从照片库中获取另一张图像,并放置在前一张图像上 现在,当我按下第三个按钮时,这两个图像将添加并使其成为一个图像并保存在相册中 我已经完成了第1步和第2步,但如何才能完成第3步 编辑 假设图片中有一个没有胡须的男人(图1),但我添加了另一个胡须图像(图2),以制作一个看起

我要直截了当地说,我的问题是,我有一个uiview控制器,它有3个按钮和一个uiimage视图。现在

  • 当我按下第一个按钮时,我正在从iphone默认照片库中拍摄图像,并将其放置在uiimageview上

  • 当我按下第二个按钮时,它将从照片库中获取另一张图像,并放置在前一张图像上

  • 现在,当我按下第三个按钮时,这两个图像将添加并使其成为一个图像并保存在相册中

  • 我已经完成了第1步和第2步,但如何才能完成第3步

    编辑

    假设图片中有一个没有胡须的男人(图1),但我添加了另一个胡须图像(图2),以制作一个看起来像胡子男人的图像(图3)。我想在相册中保存图像3


    提前感谢您在ButtonTouchUpInSide事件中提供的任何帮助 编写thid代码

    创建第一个图像

    UIImage *myImage = [UIImage imageNamed:@"image1.png"];
    
    myImage = [UIImage imageNamed:@"image2.png"];
    
    UIImageWriteToSavedPhotosAlbum(myImage, self, nil, nil);
    
    保存第一张图像

    UIImageWriteToSavedPhotosAlbum(myImage, self, nil, nil);
    
    #import <UIKit/UIKit.h>
    
    @interface UIImage (MyImage)
    
    
    + (UIImage*)imageFromView:(UIView*)view;
    + (UIImage*)imageFromView:(UIView*)view scaledToSize:(CGSize)newSize;
    + (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize;
    + (void)beginImageContextWithSize:(CGSize)size;
    + (UIImage *)croppedImage:(UIImage *)myImage :(CGRect)bounds;
    
    //masking the image ....
    
    + (UIImage*) maskImage:(UIImage *)image withMask:(UIImage *)maskImage;
    
    @end
    
    创建第二个图像

    UIImage *myImage = [UIImage imageNamed:@"image1.png"];
    
    myImage = [UIImage imageNamed:@"image2.png"];
    
    UIImageWriteToSavedPhotosAlbum(myImage, self, nil, nil);
    
    保存第二张图像

    UIImage *myImage = [UIImage imageNamed:@"image1.png"];
    
    myImage = [UIImage imageNamed:@"image2.png"];
    
    UIImageWriteToSavedPhotosAlbum(myImage, self, nil, nil);
    

    我自己也有同样的问题,以前我也是这样解决的

    请尝试此类别代码

    .h文件:

    UIImageWriteToSavedPhotosAlbum(myImage, self, nil, nil);
    
    #import <UIKit/UIKit.h>
    
    @interface UIImage (MyImage)
    
    
    + (UIImage*)imageFromView:(UIView*)view;
    + (UIImage*)imageFromView:(UIView*)view scaledToSize:(CGSize)newSize;
    + (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize;
    + (void)beginImageContextWithSize:(CGSize)size;
    + (UIImage *)croppedImage:(UIImage *)myImage :(CGRect)bounds;
    
    //masking the image ....
    
    + (UIImage*) maskImage:(UIImage *)image withMask:(UIImage *)maskImage;
    
    @end
    
    我的设计将是视图(名为combinedView),包含两个图像视图一个是源图像[即没有胡子的人]在该图像的顶部我有胡子图像

    然后我用这种方法制作图像

    UIImage *myMaskedImage=[UIImage imageFromView:combinedView ];
    
    要保存此相册,请使用此

     UIImageWriteToSavedPhotosAlbum(myMaskedImage, self, nil, nil);
    
    试试这个主意

    新更新: 您需要维护此结构,并将视图的背景色设置为透明色

                  +theView ---
                     |
                     ->imageview1(person)
                     |
                     ->imageView2(beard alone)
    

    “添加图像”是什么意思?以串联方式添加它们?@Challenger add或merge,随你怎么说。假设图片中有一个没有胡子的男人,但我正在添加另一个胡子图像,使其看起来像胡子男人。我希望你能理解。@emon嗨,你想拍快照吗。。。正确的?[图像1和图像2都是图像3]@emon我更新了代码,请查看并告诉你的主相似结构…谢谢你的回答,但我需要合并两个图像,然后保存它。假设图片中有一个没有胡须的男人(图1),但我添加了另一个胡须图像(图2),以制作一个看起来像胡子男人的图像(图3)。我想在相册中保存图像3。我希望能理解。这是关于图像大小@emorry的,但它不工作…图像正在保存,但它变成了空白的白页。。。