jjzjj

ios - 如何将 CGImage 转换为 CMSampleBufferRef?

我想将CGImage转换为CMSampleBufferRef并使用appendSampleBuffer将其附加到AVAssetWriterInput:方法。我已设法使用以下代码获取CMSampleBufferRef,但appendSampleBuffer:在我提供生成的CMSampleBufferRef时仅返回NO。我做错了什么?-(void)appendCGImage:(CGImageRef)frame{constintwidth=CGImageGetWidth(frame);constintheight=CGImageGetHeight(frame);//Createadummyp

objective-c - 旋转 CGImage

我有一个从UIImagePickerController获取的UIImage。当我从-(void)imagePickerController:(UIImagePickerController*)pickerdidFinishPickingMediaWithInfo:(NSDictionary*)info方法收到图像时,我将其直接放入UIImageView进行预览,并让用户选择保存或丢弃图像。当用户选择保存选项时,应用程序获取图像的png数据并将其保存到它的文档目录中。但是在2种可能的设备方向之一(仅限横向)下发生的情况是图像被颠倒保存(更具体地说,从它应该旋转180度)。因此,当我将图

objective-c - 旋转 CGImage

我有一个从UIImagePickerController获取的UIImage。当我从-(void)imagePickerController:(UIImagePickerController*)pickerdidFinishPickingMediaWithInfo:(NSDictionary*)info方法收到图像时,我将其直接放入UIImageView进行预览,并让用户选择保存或丢弃图像。当用户选择保存选项时,应用程序获取图像的png数据并将其保存到它的文档目录中。但是在2种可能的设备方向之一(仅限横向)下发生的情况是图像被颠倒保存(更具体地说,从它应该旋转180度)。因此,当我将图

ios - 使用 CGImage 的 JPEG 压缩质量

我在MacOSX和iOS上使用CGImageAPI(CGImageDestination,CGBitmapContext,,CGImage等)来将图像压缩为JPEG。使用kCGImageDestinationLossyCompressionQuality属性,您可以控制压缩质量:0.0是最大压缩,1.0是最大质量(根据Apple的说法,如果可能的话是无损的)。我发现当您从0.99到1.0时,磁盘大小和图像质量都有巨大的跳跃。例如,我有一个2048x1368当质量设置为0.99时压缩到430KB的图像,但当质量设置为1.0时压缩到2.3MB。视觉质量也有了很大的提升,0.99设置对于这个

ios - 使用 CGImage 的 JPEG 压缩质量

我在MacOSX和iOS上使用CGImageAPI(CGImageDestination,CGBitmapContext,,CGImage等)来将图像压缩为JPEG。使用kCGImageDestinationLossyCompressionQuality属性,您可以控制压缩质量:0.0是最大压缩,1.0是最大质量(根据Apple的说法,如果可能的话是无损的)。我发现当您从0.99到1.0时,磁盘大小和图像质量都有巨大的跳跃。例如,我有一个2048x1368当质量设置为0.99时压缩到430KB的图像,但当质量设置为1.0时压缩到2.3MB。视觉质量也有了很大的提升,0.99设置对于这个

iphone - 从 CGImage 获取 RGB 像素数据

我正在尝试从CGImage访问像素数据。我希望能够以整数形式访问RGB值。我想我几乎已经有了这段代码:UIImage*theImage=[UIImageimageNamed:@"rgb.png"];CGImageRefcgImageRef=CGImageRetain(theImage.CGImage);CFDataRef*imageData=CGDataProviderCopyData(CGImageGetDataProvider(cgImageRef));NSLog(@"thedata=%@",imageData);然后记录:数据=该图像是一个5x1png,按顺序包含黑色、白色、红色

iphone - 从 CGImage 获取 RGB 像素数据

我正在尝试从CGImage访问像素数据。我希望能够以整数形式访问RGB值。我想我几乎已经有了这段代码:UIImage*theImage=[UIImageimageNamed:@"rgb.png"];CGImageRefcgImageRef=CGImageRetain(theImage.CGImage);CFDataRef*imageData=CGDataProviderCopyData(CGImageGetDataProvider(cgImageRef));NSLog(@"thedata=%@",imageData);然后记录:数据=该图像是一个5x1png,按顺序包含黑色、白色、红色

ios - 在 iOS 上缩小图像尺寸最节省内存的方法是什么?

在后台线程中,我的应用程序需要从磁盘读取图像,将它们缩小到屏幕大小(1024x768或2048x1536)并将它们保存回磁盘。原始图像大部分来自相机胶卷,但其中一些可能具有更大的尺寸(例如3000x3000)。稍后,在不同的线程中,这些图像会经常缩小到500x500左右的不同尺寸并再次保存到磁盘。这让我想知道:在iOS中,性能和内存方面最有效的方法是什么?我使用了两种不同的API:使用CGImageSourceandCGImageSourceCreateThumbnailAtIndex来自ImageIO;drawingtoCGBitmapContext并使用CGImageDestina

ios - 在 iOS 上缩小图像尺寸最节省内存的方法是什么?

在后台线程中,我的应用程序需要从磁盘读取图像,将它们缩小到屏幕大小(1024x768或2048x1536)并将它们保存回磁盘。原始图像大部分来自相机胶卷,但其中一些可能具有更大的尺寸(例如3000x3000)。稍后,在不同的线程中,这些图像会经常缩小到500x500左右的不同尺寸并再次保存到磁盘。这让我想知道:在iOS中,性能和内存方面最有效的方法是什么?我使用了两种不同的API:使用CGImageSourceandCGImageSourceCreateThumbnailAtIndex来自ImageIO;drawingtoCGBitmapContext并使用CGImageDestina

swift - 从 CGImage 获取像素格式

我非常了解位图布局和像素格式主题,但是在处理通过NSImage加载的png/jpeg图像时遇到问题–我无法弄清楚我得到的是否是预期的行为或错误。letnsImage:NSImage=NSImage(byReferencingURL:…)letcgImage:CGImage=nsImage.CGImageForProposedRect(nil,context:nil,hints:nil)!letbitmapInfo:CGBitmapInfo=CGImageGetBitmapInfo(cgImage)Swift.print(bitmapInfo.contains(CGBitmapInfo.