草庐IT

iOS 将颜色转换为 RGB

我有一个函数接收UIColor并且需要使用它的RGBA值。到目前为止我所做的是使用CGColorGetComponents但这对其他颜色空间效果不佳(例如[UIColorblackColor]是灰度)。使用getRedgreenblue(在iOS5中)也不适用于[UIColorblackColor](返回false)。有什么简单的方法吗? 最佳答案 以下方法应该适用于大多数情况(图案颜色除外)。将它作为类别添加到UIColor。-(void)getRGBA:(CGFloat*)buffer{CGColorRefclr=[selfCG

iphone - 大量大文件在创建 zip 文件时造成泄漏

NSData*buffer=[fileHandlereadDataOfLength:chunkSize];while([bufferlength]>0){[streamBIGwriteData:buffer];offset+=[bufferlength];[fileHandleseekToFileOffset:offset];buffer=[fileHandlereadDataOfLength:chunkSize];}我使用这些特定的过程来压缩超过1个25-30MB的文件,但是这些增加了内存,即事件字节不断增加,直到所有文件都没有被写入,因此我的应用程序崩溃了

leaflet结合turf.js实现绘制图形缓冲分析buffer(附源码下载)

前言leaflet入门开发系列环境知识点了解:leafletapi文档介绍,详细介绍leaflet每个类的函数以及属性等等leaflet在线例子leaflet插件,leaflet的插件库,非常有用内容概览leaflet结合turf.js实现绘制图形缓冲分析buffer功能源代码demo下载绘制图形buffer实现借助了一个插件turf.js:http://turfjs.org效果图如下:部分核心代码,完整的见源码demo下载varbufferstyle={fillColor:"#e6d933",fillOpacity:0.3,stroke:true,fill:true,color:"#FF00

ios - 从 iOS 的 compression_encode_buffer 解码 LZ4 输出

我有一个iOS应用程序压缩了一堆小数据block。我使用在LZ4模式下运行的compression_encode_buffer来执行此操作,以便它足够快以满足我的需求。稍后,我将我制作的文件[s]取出并在非Apple设备上对其进行解码。以前我一直在使用他们的ZLIB压缩模式,并且可以在C#中使用System.IO.Compression.DeflateStream成功解码它。但是,我对LZ4输出感到厌烦。基于LZ4文档here,Apple将流分成一堆block,每个block以4字节魔数(MagicNumber)、4字节解压缩大小和4字节压缩大小开始。所有这一切都是有道理的,我能够将文

ios - 如何将数组 `UnsafePointer<DSPComplex>` 转换为 float 数组?

如何转换数组UnsafePointer到Swift中的一组float?我看过thispage,但是因为我是swift的新手,所以我不知道如何为一组float做这件事。 最佳答案 DSPComplex是一个包含虚数和实数Float值的结构。那是两个花车。它不能转换为float数组。但是,您必须先将其转换为UnsafeBufferPointer,然后才能将其传递给数组。然后你就有了一个DSPComplex结构的Swift数组。funcarrayForDSPComplex(pointer:UnsafePointer,count:Int)-

iphone - iOS,音频队列 : Buffer size is not contant

我在我的应用程序中使用音频队列服务。分配缓冲区时,我将缓冲区大小设置为30000个样本:AudioQueueAllocateBuffer(mQueue,30000,&mBuffers[i]);但是回调的后续调用是使用以下inNumberPacketDescriptions进行的:300003000030000269283000030000它们并不总是等于30000。为什么?记录格式配置(使用CAStreamBasicDescription):mRecordFormat.mSampleRate=kSampleRate;mRecordFormat.mChannelsPerFrame=1;m

ios - 减少播放远程视频内容时的初始延迟

您好,使用MPMoviePlayerController将视频流式传输到应用程序中。但是,加载需要很长时间,我希望能够预先缓冲视频。有什么建议吗? 最佳答案 使用[MPMoviePlayerControllerInstanceprepareToPlay]一旦你知道用户可能会开始播放电影。你可能还想设置MPMoviePlayeController.autoPlay到最适合的东西,取决于在您的申请中。来自Apple'sDocumentation;Thismethodiscalledautomaticallywhenyoucallthep

ios - Objective-C 中的动态缓冲区(带 ARC)

我正在尝试使用NSString对象的-(void)getCharacters:(unichar*)bufferrange:(NSRange)aRange方法,但我有一个第一个参数的问题。此NSString中的字符数不固定,因此我需要动态分配缓冲区(缓冲区的大小必须类似于[my_stringlength]*sizeof(UniChar))。我是Objective-C的新手,不知道该怎么做。我可以像在C程序中那样使用malloc(启用ARC)吗? 最佳答案 是的,您可以malloc()适当大小的缓冲区。您必须free()缓冲区当不再使用

iOS/Metal : how to read from the depth buffer at a point?

我想从深度缓冲区中读取。在OSX上的GL中我可以这样做:floatdepth[2][2];//get2x2forbilinearinterpolationglReadPixels(s.x,s.y,/*width*/2,/*height*/2,GL_DEPTH_COMPONENT,GL_FLOAT,depth);(请注意,使用iOS上的OpenGLES时,您无法从深度缓冲区中读取数据)Metal的等价物是什么?看起来我需要做:_renderPassDescriptor.depthAttachment.storeAction=MTLStoreActionStore;然后以某种方式通过CPU

ios - 无法使用 (UnsafeMutableRawPointer) 类型的参数列表调用类型 UnsafePointer<_> 的初始值设定项

当我从音频缓冲区数据写入多点连接中的输出流时出现错误CannotinvokeinitializerfortypeUnsafePointerwithanargumentlistoftype(UnsafeMutableRawPointer)我找到了很多解决方案,但这个解决方案对我没有帮助。我的代码是:funcsend(_buffer:AudioBuffer){print(buffer.mData!)print(buffer.mDataByteSize)outputStreme?.write(UnsafePointer(buffer.mData),maxLength:buffer.mData