我正在尝试将UIImage保存到相册.我已经尝试过最后一个方法:
-(IBAction)captureLocalImage:(id)sender{
[photoCaptureButton setEnabled:NO];
// Save to assets library
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library writeImageToSavedPhotosAlbum: imageView.image.CGImage metadata:nil completionBlock:^(NSURL *assetURL, NSError *error2)
{
// report_memory(@"After writing to library");
if (error2) {
NSLog(@"ERROR: the image failed to be written");
}
else {
NSLog(@"PHOTO SAVED - assetURL: %@", assetURL);
}
runOnMainQueueWithoutDeadlocking(^{
// report_memory(@"Operation completed");
[photoCaptureButton setEnabled:YES];
});
}];
}
Run Code Online (Sandbox Code Playgroud)
imageView是一个UIImageView,包含我要保存的图像.在日志中我得到了"PHOTO SAVED - assetURL:(null)"并且照片没有保存到库中.
我究竟做错了什么?
我正在尝试拍摄我的应用当前视图的屏幕截图并将其保存到相册(然后通过电子邮件发送或彩信).
UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, self, @selector(savedPhotoImage:didFinishSavingWithError:contextInfo:), nil);
Run Code Online (Sandbox Code Playgroud)
这可以工作,但是当我从照片库发送电子邮件时,生成的图像会变得更大(533x800像素)并且会被大量压缩.
我已经尝试首先将UIImage写入文件然后保存到相册但仍然遇到同样的问题.
如果我在iPhone上使用内置的屏幕截图功能,则视图会以320x480正确保存到相册,但上述代码似乎会因某种原因保存更大的图像?
谢谢!
谷歌搜索了一会儿后,我找不到答案 -
我想知道,我如何使用自定义URL处理程序在我的两个应用程序之间传输数据?特别是图像或NSData对象.
我知道能够使用自定义处理程序打开我的应用程序的特定部分,例如myapp1:// start,myapp2:// start,但我不知道如何通过这些传输大量数据(~80k)处理程序.
很想听到任何有创意的解决方案:)
ps解决方案应该是iOS> = 4.3兼容
嘿,我是 iPhone 新手,我一直在尝试制作一个画廊类的应用程序。基本上,我想要做的是,我需要将所有捕获的图像保存到特定文件夹中,例如与 iPhone 设备库中我们的应用程序名称相关的新相册“My_App Images”,它对我有用,但我无法更改图像文件名,我不知道是否可以指定文件名?使用 iPhoto,目前我得到的图像文件名为“IMG_0094.jpg”,我们可以通过编程方式将其更改为任何其他文件名(例如“Anyfilename.png”格式)吗?
这是我将图像保存到特定相册的代码:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
[self.library saveImage:image toAlbum:@"My_App Images" withCompletionBlock:^(NSError *error) {
if (error!=nil) {
NSLog(@"Image saving error: %@", [error description]);
}
}];
[picker dismissViewControllerAnimated:NO completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
任何可供参考的来源或链接都值得赞赏。谢谢您的帮助!
我想在我的(iOS)应用程序中有一个按钮,它会截取当前屏幕的屏幕截图,然后将其附加到文本消息中.
就像我在其他应用程序中看到的......
我有消息发送工作,我认为我有截图工作,但我不知道截图保存在哪里或如何使用它.
我的消息发送是从应用程序中的按钮调用的...
void GameOverScene::messageCallBack(cocos2d::Ref *sender) {
CocosDenshion::SimpleAudioEngine::getInstance()->playEffect(ALL_BUTTONS_CLICK_SOUND_NAME);
utils::captureScreen( CC_CALLBACK_2(GameOverScene::afterCaptured, this), "screenshot.png" );
__String *messageTextOne = __String::create("sms:&body=Hey,%20I%20just%20hit%20a%20score%20of%20");
__String *messageTextTwo = __String::createWithFormat("%i", score);
__String *messageURL = __String::createWithFormat("%s%s", messageTextOne->getCString(), messageTextTwo->getCString());
Application::getInstance()->openURL(messageURL->getCString());
}
Run Code Online (Sandbox Code Playgroud)
截图功能是......
void GameOverScene::afterCaptured( bool succeed, const std::string &outputFile ) {
if (succeed) {
log("Screen capture succeeded");
Size screenSize = Director::getInstance()->getWinSize();
RenderTexture * tex = RenderTexture::create(screenSize.width, screenSize.height);
tex->setPosition(screenSize.width/2, screenSize.height/2);
tex->begin();
this->getParent()->visit();
tex->end();
tex->saveToFile("Image_Save.png", Image::Format::PNG);
} else {
log("Screen capture failed");
}
}
Run Code Online (Sandbox Code Playgroud)
我在控制台"屏幕截图成功"中收到消息,我的消息应用程序打开时显示预填充的短信.
我需要做的是将屏幕截图添加到此消息,但我无法看到如何做到这一点,或保存屏幕截图的位置,或如何使用保存的屏幕截图.
我正在尝试使用 XCTest 中的功能截图来捕获屏幕,但我无法理解如何将此屏幕截图保存到模拟器设备或物理设备上
https://developer.apple.com/documentation/xctest/xcuiscreenshot
我正在尝试在这里自动化 UI 测试,并且需要捕获大量屏幕截图以供审核。
我上面用红色突出显示问题.当我拍照并按下使用照片时,我不会将我拍摄的照片保存到iPad上的相册中.我已经看过其他方式,但我是iOS开发的初学者,我不确定如何解决这个问题.我有时也会得到一个sigabrt错误.
所以我正在拍摄一台相机(Ipad,5.0,ARC),允许我拍照..它会在拍完照片后给你预览.预览中的两个选项是"使用"和"重拍".我不确定您在哪里尝试定义照片的名称并存储在相机胶卷中.即使是通过NSLog,我也看不到任何名为w/use按钮的东西..这些教程对我来说似乎也没有用.大多数人都提到了Ipad在technopedia上的特定功能.
我的iPhone应用程序需要在相机胶卷中保存图像.我需要生成.THM文件,否则iPhone无法识别照片.是否有任何Objective-C API可以做到这一点?
谢谢.
我正在尝试保存用户使用相机拍摄的图像
1)如果我使用UIImageWriteToSavedPhotosAlbum我似乎无法分配我想要的fileName.怎么样,你能选择文件名吗?
使用此选项的好处是
[picker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
然后给出照片库目录的缩略图库.
2)它引导我到我的下一个问题可以
[picker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
用来从你自己的个人目录中获取图像?
3)无论如何以编程方式在照片库中创建子文件夹
4)最后,
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSPicturesDirectory, NSUserDomainMask, YES);
if (![[NSFileManager defaultManager] fileExistsAtPath:[paths objectAtIndex:0] isDirectory:&isDir]) {
NSError *error;
[[NSFileManager defaultManager] createDirectoryAtPath:[paths objectAtIndex:0 withIntermediateDirectories:YES attributes:nil error:&error];
}
Run Code Online (Sandbox Code Playgroud)
检查NSPicturesDirectory是否存在以便我可以写入它我不断收到Cocoa错误513
提前致谢
ios ×6
iphone ×5
ios5 ×2
swift ×2
uiimage ×2
c++ ×1
camera ×1
cocoa-touch ×1
cocos2d-x ×1
image ×1
imagelibrary ×1
nsdata ×1
objective-c ×1
screenshot ×1
thumbnails ×1