Tag Archives: Mac/Ios

《IOS开发系列教程》RGB生成UIImage

《IOS开发系列教程》RGB生成UIImage

IOS要求的像素格式是

RGBA

而不是

RGB

因此如果如果拿到的数据格式是RGB,那么需要转换成RGBA,

RGB–>RGBA–>UIImage

再使用下面的语法显示图片:

UIImageViewer.image = UIImage

下面给出一个例子:

const size_t Height = 10;
const size_t Area = Width * Height;
const size_t ComponentsPerPixel = 4; // rgba

uint8_t pixelData[Area * ComponentsPerPixel];

// fill the pixels with a lovely opaque blue gradient:
for (size_t i=0; i < Area; ++i) {
    const size_t offset = i * ComponentsPerPixel;
    pixelData[offset] = i;
    pixelData[offset+1] = i;
    pixelData[offset+2] = i + i; // enhance blue
    pixelData[offset+3] = UINT8_MAX; // opaque
}

// create the bitmap context:
const size_t BitsPerComponent = 8;
const size_t BytesPerRow=((BitsPerComponent * Width) / 8) * ComponentsPerPixel;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef gtx = CGBitmapContextCreate(&pixelData[0], Width, Height, BitsPerComponent, BytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast);

// create the image:
CGImageRef toCGImage = CGBitmapContextCreateImage(gtx);
UIImage * uiimage = [[UIImage alloc] initWithCGImage:toCGImage];

继续阅读

《IOS开发系列教程》Show vs Show Detail

《IOS开发系列教程》Show vs Show Detail

当你按下ctrl键,同时按住左键,拖动鼠标到另外控件,松手后,xcode会问你,你所创建的segue,希望是哪种?

show, show detail, present modally, popover presentation, custom

那么这些都是什么意思呢?下面详细介绍,

1. Show – Pushes the destination view controller onto the navigation stack, moving the source view controller out of the way (destination slides overtop from right to left), providing a back button to navigate back to the source – on all devices.

继续阅读

《IOS开发系列教程》objective c学习之 objective c和c/c++的比较

IOS开发系列教程》objective c学习之 objective cc/c++的比较

因为本人学习c/c++已经有些年头了,因此打算通过比较来学习,这样学习起来会比较快,因为只需要理解和记住不同的地方。

objective c和c++都是c的扩展,c是纯面向过程的语言,而objective c和c++则是在c的基础之上加入了面向对象的概念,objective c是借鉴了smalltalk中面向的对象的语法。

继续阅读

《IOS开发系列教程》Objective C学习之抽象类

《IOS开发系列教程》Objective C学习之抽象类

在c++中,我们通过在一个类中定义所有的函数为纯虚函数来实现接口的定义。但是在Objective C没有办法使用此法,首先因为Objective C不支持纯虚函数的定义。而在实际的开发中我们确实需要定义一个集合,这个集合包含一组函数,其子类必须实现,关键就是用什么技术来描述这个集合了,Objective C中有一个东西叫做协议,由关键字

继续阅读

《IOS开发系列教程》Objective C学习之构造函数和析构函数

《IOS开发系列教程》Objective C学习之构造函数和析构函数

有类似的2个函数
Init —-> 构造函数?

dealloc ——> 析构函数

但是,init这个函数区别于c++的构造函数之处在于:

如果没有其他的构造函数,无参数的构造函数一定会被系统调用。而init这个函数则不会被强制调用。

继续阅读

《IOS开发系列教程》IOS开发中使用C++

《IOS开发系列教程》IOS开发中使用C++

为大家说熟知的,开发IOS的app我们有两种语言可供选择,传统的Objective C和苹果在2014年底推出的Swift,然而如果你想使用C++呢,也是可以,就是在开发过程混用这两种语言。

好处就是,你可以省去学习Objective C的更深层次的时间成本,跟前台显示没有关系的代码,我们统统都可以C++来实现。

继续阅读

《IOS开发系列教程》在真机上部署测试程序

《IOS开发系列教程》在真机上部署测试程序

有了xcode之后,我们可以非常方便的在模拟器上测试我们开发的程序。提供的模拟器不管是设备类型还是ios的版本都是很丰富的,但是在发布app到apple store之前还是去真机上测试一下,有些问题,只有在真机上才会测出来,包括性能的问题。

继续阅读

《IOS开发系列教程》让你的程序支持多语言

《IOS开发系列教程》让你的程序支持多语言

让你的系统支持多语言,根据用户在系统中设置的语言来决定你的程序所显示的语言。

设置系统语言:

设置(setting)->通用(general)->地区和语言(region and language)

要让你的程序支持多语言,有2部分的字符串需要翻译

继续阅读