Tag: 图像

通知中心的图片预览

是否有可能将图像添加到推送通知的有效载荷? 我已经看到它正在照片和消息应用程序中完成。 我希望这不是一些私人的苹果API。 下面的屏幕截图是在运行iOS 6的设备上拍摄的。

压缩从设备或从图书馆,iOSselect的图像

在我的应用程序中,用户可以从设备拍摄照片或从图库中上传照片,将其设置为他的个人资料照片。 现在当用户完成后,我需要将该图像上传到服务器。 通常来自设备的图像大小为5-6MB。 我需要它上传到服务器之前压缩到25KB。 所以我正在使用以下方法 – (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { [picker dismissModalViewControllerAnimated:YES]; [picker release]; profilePicImageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; NSData* pngData = UIImagePNGRepresentation(profilePicImageView.image); NSLog(@"image size of png is %d", [pngData length]); NSData *imageData = UIImageJPEGRepresentation(profilePicImageView.image, 0.00001); NSLog(@"image size is %d", [imageData length]); } 这个方法的问题是,无论我设置缩放参数有多小,压缩文件的大小都不会低于〜230KB,这比我所需要的高出近10倍。 上述方法有什么问题? 我不能将图像压缩到25KB? 任何帮助,build议将不胜感激。

是否有一个视图控制器的图像作物和旋转工程,如iOS 8的photo.app?

我需要一个视图控制器供用户裁剪和旋转图像。 而且我认为iOS8照片应用所做的UI非常棒 但是我发现只有这两个: https://github.com/heitorfr/ios-image-editor https://github.com/kishikawakatsumi/PEPhotoCropEditor 这些是有用的,但是当使图像小于作物区域时,移动或旋转图像是非常困难的,并且响应非常奇怪。 使用这些之后,我认为iOS8照片应用的裁剪和旋转function要好得多 那么有没有一个视图控制器执行图像裁剪和像iOS 8照片应用程序旋转?

什么消耗更less的内存实际图像或绘制图像?

我正在devise一个应用程序,我正在使用PaintCode创build一些图像。 使用该程序,我得到了我创build的每个图像的实际代码,从而允许我select插入代码或使用实际的图像。 我想知道什么会消耗更less的内存,图像代码或实际的PNG? 我知道一个图像内存消耗是width x height x 4 = bytes in memory但我不知道是否由代码生成的图像是更高的内存效率,更less的内存效率或rest? 考虑到不同的屏幕分辨率,这个决定尤其重要。 在代码中创build一个图像并将其展开为我想要的大小,而不是每次都去Photoshop。

iOS:逆UIBezierPath(bezierPathWithOvalInRect)

我有一个圆形对象的JPG图像矩形,并希望使圆形对象的透明度… (在这个例子中删除红色区域) 在这个iOS的帮助下, 使UIImage透明和“UIBezierPath bezierPathWithOvalInRect”的一部分,我已经取得了一些成功,但是这使得我的对象周围的道路,我需要倒过来,使外部而不是内部path透明.. 我不知道我必须改变我的代码才能得到正确的结果.. 这是我的代码: //BezierPath UIBezierPath *bezierPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, 100, 100)]; // Create an image context containing the original UIImage. UIGraphicsBeginImageContext(_imgTemp.image.size); [_imgTemp.image drawAtPoint:CGPointZero]; // Clip to the bezier path and clear that portion of the image. CGContextRef context = UIGraphicsGetCurrentContext(); CGContextAddPath(context,bezierPath.CGPath); CGContextClip(context); CGContextClearRect(context,CGRectMake(0,0,self._imgTemp.image.size.width,self._imgTemp.image.size.height)); // Build a new UIImage from the […]

UIWebView,启用触摸保存图像,就像在移动Safari

我想启用保存图像和复制当用户在我的应用程序中的UIWebView中保存图像。 是否有一个属性,将使这个或将我需要写一些特殊的方法来完成这个? 谢谢阅读!

Alamofire Image:在af_setImageWithURL()之后从AutoPurgingImageCache获取图像

我在我的项目中使用AlamofireImage。 我使用someImageView.af_setImageWithURL(url)很多。 然而在某些时候,我需要手动从imageCache中获取图像,因为我不想将其应用于UIImageView。 这带来了两个问题: 我可以通过使用let imageCache = AutoPurgingImageCache()创build一个来直接访问图像caching。 这是与 .af_setImageWithURL()使用(Singleton) 相同的caching吗? 或者这是一个新的? 这对我来说毫无价值,因为我无法从预先填充的caching中获利。 鉴于这是相同的caching:我如何获取正确的图像? 我想过imageCache.imageForRequest(NSUrlRequest) 。 如果NSUrlRequest确实使用了相同的NSURL,那么在下载的.af_setImageWithURL()之前的图像上会匹配吗?

Images.xcassets存档或生成时运行的错误

突然遇到这两个资产编译器错误存档或生成运行时: /Users/borislariushin/Documents/Pilgrimapp/ios/ios/Images.xcassets:无法将从“LaunchImage.launchimage / 1024_768-1.png”启动映像集的PNG数据写入“/ Users / borislariushin / Library / Developer / Xcode中/ DerivedData / PilgrimApp-bfjwfpphvtnwqiaqkihxoimthbkp /编译/产品/debugging-的iPhoneOS / PilgrimApp.app / LaunchImage – 风景〜ipad.png”。 /Users/borislariushin/Documents/Pilgrimapp/ios/ios/Images.xcassets:无法将从“LaunchImage.launchimage / 2048_1536-1.png”启动图像集的PNG数据写入“/ Users / borislariushin / Library / Developer / Xcode/DerivedData/PilgrimApp-bfjwfpphvtnwqiaqkihxoimthbkp/Build/Products/Debug-iphoneos/PilgrimApp.app/LaunchImage-Landscape@2x~ipad.png”。 任何想法如何摆脱他们,并成功地编译项目。

iOS:在导航栏正下方添加一个固定的图像

感觉这应该是相当简单的,但我迄今为止没有尝试过的工作。 简而言之,我想添加一个固定的图像就在我创build的UITableViewController导航栏下方,我创build编程。 换句话说,即使用户在表格视图中上下滚动(它基本上是导航栏的自定义拖放阴影),我也希望图像保持在导航栏的正下方。 我得到的最接近的是下面的代码(在UITableViewController的init方法中),它添加了图像,但不会在用户滚动时不让它移动。 // Add nav bar drop shadow UIImage *dropShadowImage = [UIImage imageNamed:@"NavBarDropShadow.png"]; UIImageView *dropShadowView = [[UIImageView alloc] initWithImage:dropShadowImage]; [self.view addSubview:dropShadowView]; 有没有一个简单的方法来添加一个图像添加到屏幕上编程,将其放在任何你喜欢的地方,并保持在那里,即使用户滚动? 感谢您的任何和所有的投入!

如何提高包含大量小图片的UCollectionView的性能?

在我的iOS应用程序中,我有UICollectionView ,显示大约1200个小(35×35点)的图像。 图像存储在应用程序包中。 我正确地重用UICollectionViewCell s,但仍然有性能问题,取决于我如何解决图像加载: 我的应用程序是应用程序扩展,那些内存有限(在这种情况下是40 MB)。 将所有1200张图片放到Assets目录中并使用UIImage(named: "imageName")加载它们导致内存崩溃 – 系统caching的图像填满了内存。 在某些时候,应用程序需要分配更大的内存部分,但由于caching的图像,这些部分不可用。 而不是触发内存警告和清理caching,操作系统只是杀了应用程序。 我改变了避免图像caching的方法。 我将图像放到我的项目中(不是用于保存目录),而是使用NSBundle.mainBundle().pathForResource("imageName", ofType: "png")来加载它们。 该应用程序不再由于内存错误崩溃,但加载单个图像需要更长的时间,即使在最新的iPhone上,快速滚动也是滞后的。 我完全控制图像,并可以将它们转换为.jpeg或优化它们(我已经尝试ImageOptim和其他一些选项,但没有成功)。 我该如何解决这两个性能问题? 编辑1: 我也尝试加载后台线程中的图像。 这是来自我的UICollectionViewCell子类的UICollectionViewCell : private func loadImageNamed(name: String) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), { [weak self] () in let image = bundle.pathForResource(name, ofType: "png")?.CGImage if name == self?.displayedImageName { dispatch_async(dispatch_get_main_queue(), { if name == self?.displayedImageName { self?.contentView.layer.contents […]