// Courtesy of Apple, Create Bitmap with Alpha/RGB values
CGContextRef CreateARGBBitmapContext (CGImageRef inImage, CGSize size)
{
CGContextRef context = NULL;
CGColorSpaceRef colorSpace;
void * bitmapData;
int bitmapByteCount;
int bitmapBytesPerRow;
size_t pixelsWide = size.width;
size_t pixelsHigh = size.height;
bitmapBytesPerRow = (pixelsWide * 4); //ARGB
bitmapByteCount = (bitmapBytesPerRow * pixelsHigh);
colorSpace = CGColorSpaceCreateDeviceRGB();
if (colorSpace == NULL)
{
fprintf(stderr, "Error allocating color space\n");
return NULL;
}
// allocate the bitmap & create context
bitmapData = malloc( bitmapByteCount );
if (bitmapData == NULL)
{
fprintf (stderr, "Memory not allocated!");
CGColorSpaceRelease( colorSpace );
return NULL;
}
context = CGBitmapContextCreate (bitmapData, pixelsWide, pixelsHigh, 8,
bitmapBytesPerRow, colorSpace,
kCGImageAlphaPremultipliedFirst);
if (context == NULL)
{
free (bitmapData);
fprintf (stderr, "Context not created!");
}
CGColorSpaceRelease( colorSpace );
return context;
}
// Return a C-based bitmap of the image data inside an image
unsigned char *RequestImagePixelData(UIImage *inImage)
{
CGImageRef img = [inImage CGImage];
CGSize size = [inImage size];
CGContextRef cgctx = CreateARGBBitmapContext(img, size);
if (cgctx == NULL) return NULL;
CGRect rect = {{0,0},{size.width, size.height}};
CGContextDrawImage(cgctx, rect, img);
unsigned char *data = CGBitmapContextGetData (cgctx);
CGContextRelease(cgctx);
return data;
}
使用位图某像素:
[UIColor
colorWithRed: (float) (bitmap[startByte+1]/255.0f)
green: (float) (bitmap[startByte+2]/255.0f)
blue: (float) (bitmap[startByte+3]/255.0f)
alpha: (float)(bitmap[startByte]]
分享到:
相关推荐
标题中的“iphone7原厂线路图纸和位图”是指苹果公司生产的iPhone 7手机的官方电路板布局设计图和部件定位图。这些图纸是工程师、维修技术人员或爱好者用于理解设备内部结构、电子元件布局以及故障排查的重要参考...
《基于Doubango的iPhone手机客户端函数封装手册》是一份详尽的开发指南,主要针对使用Doubango框架进行iOS应用开发的工程师。Doubango是一个开源的多媒体通信框架,适用于移动设备,提供了丰富的功能,如VoIP、视频...
根据给定的信息,“iPhone7 位图”这一标题与描述,可以推测这是一份与iPhone 7相关的硬件设计文档或电路板布局文档的部分内容。在给出的文本中,出现了大量的元器件标识符(RefDes),这些标识符通常用于电子工程...
IPhone对@selector的函数如何传参数
【苹果5s原厂中文脚位图】是针对苹果iPhone 5s设备维修时极其重要的参考资料,它提供了手机内部各个部件的布局以及连接器的位置,通常以高清图像的形式呈现,以便于技术人员准确无误地进行故障排查和零部件更换。...
根据提供的标题“iPhone狂:约会iPhone”以及描述“iPhone狂:约会iPhone”,我们可以理解这篇文章主要聚焦于iPhone的相关内容。然而,由于正文部分并未提供具体的信息或数据,我们将基于标题和描述来探讨与iPhone...
本文将深入探讨iPhone 11系列的维修知识,帮助用户和专业技术人员更好地理解设备内部构造,以便进行有效的故障排查和维修。 首先,我们关注的是iPhone 11系列的设计特点。这两款手机采用了苹果公司独特的双摄像头...
本篇将深入解析iPhone 4的完整电路图PCB(Printed Circuit Board),帮助读者理解这款设备的内部构造与工作原理。 一、PCB基础 PCB,即印刷电路板,是电子设备中至关重要的组成部分,用于固定和连接各种电子元件,...
iPhone应用程序由主函数“main”启动,该函数负责调用UI应用程序主函数。此函数的形式如下:int UI Application Main(int argc,char).zip
本篇将围绕“iPhone 4”的维修手册与电路图展开讨论,帮助读者深入理解这部经典手机的内部构造和工作原理。 一、iPhone 4设计特点 1. 外观设计:iPhone 4采用了革命性的双面玻璃设计,前后均为强化玻璃材质,中间...
此外,这个库可能还包含了iPhone的屏幕尺寸适配元素,例如针对不同尺寸的iPhone(如iPhone SE、iPhone 8、iPhone X系列)的布局和组件。 使用这个元件库,原型设计师无需从零开始绘制每个组件,可以直接拖放这些...
《iPhone4、iPhone4s、iPhone5 完美越狱工具包详解》 在iOS设备的世界里,"越狱"一词对许多用户而言并不陌生。越狱是指通过技术手段解除Apple公司对iPhone等设备的封闭系统限制,使得用户能够自定义设备、安装非App...
对于iPhone元件库,其涵盖了多种iPhone机型,例如iPhone SE、iPhone 6/6S/7/8系列、iPhone X/XS系列、iPhone XR、iPhone 11系列、iPhone 12系列以及iPhone 13系列等。这些模型不仅包括手机的外观,还可能包括屏幕...
4. 事件绑定:通过`.on()`方法绑定事件处理函数,响应用户的触摸操作,实现动态交互效果。 5. 测试优化:在真实设备或模拟器上进行测试,确保在不同iOS版本和屏幕尺寸下都能正常工作,并进行必要的性能优化。 在...
在IT领域,特别是移动设备部分,苹果公司的iPhone一直以其独特的用户体验和设计著称。其中,iPhone的提示音是用户日常操作中不可或缺的一部分,它们为用户提供了一系列声音反馈,以告知用户各种事件的发生。在这个名...
"Axure元件库iPhone"是专门为设计iPhone应用原型而定制的一套元件集合。该库不仅提高了设计效率,还确保了设计的准确性和一致性,因为这些元件都是按照iOS设备的界面规范和设计风格制作的。 首先,我们来看一下...
iphone X iphone 8 原型框 iphone X iphone 8 原型框
标题中的“iphone13通用ipcc49.0.zip”表明这是一个与苹果iPhone 13设备相关的软件更新或配置文件,IPCC(International Provider Configuration)是Apple用来管理运营商设置的一种文件格式。这些设置通常涉及手机的...
想在普通电脑上让你发表的空间说说显示来自iPhone嘛?火狐专用浏览器就可以实现这个效果!不但可以显示发布的说说来自iPhone触屏版,还可以显示iPad或android,绝对给力,不管你信不信,反正我是信了,我已经测试100%...