如何在图像透明区域添加Imageview

时间:2017-03-07 06:55:19

标签: ios iphone image image-processing uiimageview

我正在开发彩色相框应用程序,但我陷入了一个部分。我的应用程序中有很多框架。所以我想查找我的应用程序的透明区域,并以编程方式将UIImageView放在该部分上。但我正在尝试逐个像素地读取代码的数量,但是没有什么可行的

Frame

这里用于查找透明区域的代码

CGImageRef imageRef = [image CGImage];

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();

unsigned char *rawData = malloc(image.size.width * image.size.height * 4);

NSUInteger bytesPerPixel = 4;

NSUInteger bytesPerRow = bytesPerPixel * image.size.width;

NSUInteger bitsPerComponent = 8;

CGContextRef context = CGBitmapContextCreate(rawData, image.size.width, image.size.height, bitsPerComponent, bytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);

CGColorSpaceRelease(colorSpace);

CGContextDrawImage(context, CGRectMake(0, 0, image.size.width , image.size.height), imageRef);

CGContextRelease(context);

unsigned char * rawData2 = malloc(image.size.width * image.size.height * 4);

BOOL isBlank = YES;

for(int index=0;index<(image.size.width * image.size.height * 4);index+=4)
{
    if(index%4==0)
    {
        if(rawData[(int)index+3]==0)
        {
            rawData2[(int)index]   = rawData[(int)index];
            rawData2[(int)index+1] = rawData[(int)index+1];
            rawData2[(int)index+2] = rawData[(int)index+2];
            rawData2[(int)index+3] = rawData[(int)index+3];
            isBlank=NO;
        }
        else
        {

            rawData2[(int)index]   = 0;
            rawData2[(int)index+1] = 0;
            rawData2[(int)index+2] = 0;
            rawData2[(int)index+3] = 0;
        }
    }
}

如何在imageview中找到透明区域框架(CGreact)?

0 个答案:

没有答案
相关问题