`

iPhone 构造位图的函数

阅读更多

 

// 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原厂线路图纸和位图

    标题中的“iphone7原厂线路图纸和位图”是指苹果公司生产的iPhone 7手机的官方电路板布局设计图和部件定位图。这些图纸是工程师、维修技术人员或爱好者用于理解设备内部结构、电子元件布局以及故障排查的重要参考...

    基于Doubango的iphone手机客户端函数封装手册

    《基于Doubango的iPhone手机客户端函数封装手册》是一份详尽的开发指南,主要针对使用Doubango框架进行iOS应用开发的工程师。Doubango是一个开源的多媒体通信框架,适用于移动设备,提供了丰富的功能,如VoIP、视频...

    iPhone7 位图

    根据给定的信息,“iPhone7 位图”这一标题与描述,可以推测这是一份与iPhone 7相关的硬件设计文档或电路板布局文档的部分内容。在给出的文本中,出现了大量的元器件标识符(RefDes),这些标识符通常用于电子工程...

    IPhone对@selector的函数如何传参数

    IPhone对@selector的函数如何传参数

    苹果5s原厂中文脚位图

    【苹果5s原厂中文脚位图】是针对苹果iPhone 5s设备维修时极其重要的参考资料,它提供了手机内部各个部件的布局以及连接器的位置,通常以高清图像的形式呈现,以便于技术人员准确无误地进行故障排查和零部件更换。...

    iPhone狂:约会iPhone

    根据提供的标题“iPhone狂:约会iPhone”以及描述“iPhone狂:约会iPhone”,我们可以理解这篇文章主要聚焦于iPhone的相关内容。然而,由于正文部分并未提供具体的信息或数据,我们将基于标题和描述来探讨与iPhone...

    iPhone 11维修资料

    本文将深入探讨iPhone 11系列的维修知识,帮助用户和专业技术人员更好地理解设备内部构造,以便进行有效的故障排查和维修。 首先,我们关注的是iPhone 11系列的设计特点。这两款手机采用了苹果公司独特的双摄像头...

    iphone4完整电路图PCB

    本篇将深入解析iPhone 4的完整电路图PCB(Printed Circuit Board),帮助读者理解这款设备的内部构造与工作原理。 一、PCB基础 PCB,即印刷电路板,是电子设备中至关重要的组成部分,用于固定和连接各种电子元件,...

    iPhone应用程序由主函数“main”启动,该函数负责调用UI应用程序主函数 此函数的形式

    iPhone应用程序由主函数“main”启动,该函数负责调用UI应用程序主函数。此函数的形式如下:int UI Application Main(int argc,char).zip

    Iphone 4_iphone4_

    本篇将围绕“iPhone 4”的维修手册与电路图展开讨论,帮助读者深入理解这部经典手机的内部构造和工作原理。 一、iPhone 4设计特点 1. 外观设计:iPhone 4采用了革命性的双面玻璃设计,前后均为强化玻璃材质,中间...

    axure iphone手机元件库原型库

    此外,这个库可能还包含了iPhone的屏幕尺寸适配元素,例如针对不同尺寸的iPhone(如iPhone SE、iPhone 8、iPhone X系列)的布局和组件。 使用这个元件库,原型设计师无需从零开始绘制每个组件,可以直接拖放这些...

    axureiPhone机型元件库

    对于iPhone元件库,其涵盖了多种iPhone机型,例如iPhone SE、iPhone 6/6S/7/8系列、iPhone X/XS系列、iPhone XR、iPhone 11系列、iPhone 12系列以及iPhone 13系列等。这些模型不仅包括手机的外观,还可能包括屏幕...

    iphone UI pdf格式

    4. 事件绑定:通过`.on()`方法绑定事件处理函数,响应用户的触摸操作,实现动态交互效果。 5. 测试优化:在真实设备或模拟器上进行测试,确保在不同iOS版本和屏幕尺寸下都能正常工作,并进行必要的性能优化。 在...

    Axure元件库iPhone

    "Axure元件库iPhone"是专门为设计iPhone应用原型而定制的一套元件集合。该库不仅提高了设计效率,还确保了设计的准确性和一致性,因为这些元件都是按照iOS设备的界面规范和设计风格制作的。 首先,我们来看一下...

    iPhone提示音大全

    在IT领域,特别是移动设备部分,苹果公司的iPhone一直以其独特的用户体验和设计著称。其中,iPhone的提示音是用户日常操作中不可或缺的一部分,它们为用户提供了一系列声音反馈,以告知用户各种事件的发生。在这个名...

    iphone X iphone 8 原型框

    iphone X iphone 8 原型框 iphone X iphone 8 原型框

    电脑免费发表iPhone说说

    想在普通电脑上让你发表的空间说说显示来自iPhone嘛?火狐专用浏览器就可以实现这个效果!不但可以显示发布的说说来自iPhone触屏版,还可以显示iPad或android,绝对给力,不管你信不信,反正我是信了,我已经测试100%...

    iPhone6电路原理图+pcb点位图

    iPhone6作为苹果公司推出的一款经典智能手机,其内部构造和电路设计一直是技术爱好者关注的焦点。本资料包包含了iPhone6的电路原理图和PCB点位图,对于理解手机硬件工作原理、故障排查以及电路设计学习具有极大的...

    ios iphone iphone桌面截图代码

    在iOS平台上,为iPhone创建桌面截图的代码涉及到了多个关键概念和步骤。首先,我们要理解的是,iOS系统是封闭的,对于系统级别的操作,如截取屏幕内容,苹果提供了特定的API供开发者使用。以下是对这个主题的详细...

Global site tag (gtag.js) - Google Analytics