美文网首页
为图片添加透明度

为图片添加透明度

作者: CoderLT | 来源:发表于2015-06-08 18:27 被阅读223次
- (UIImage *)applyAlpha:(CGFloat)alpha
{
    int bmpAlpha = MIN(255, MAX(0, (255*alpha)));
    UIImage *image;
    int width = self.size.width * self.scale;
    int height = self.size.height * self.scale;
    
    CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
    if (colorspace == NULL) {
        ATLog(@"Create Colorspace Error!");
        return nil;
    }
    
    Byte *imgData = NULL;
    imgData = malloc(width * height * 4);
    if (imgData == NULL) {
        ATLog(@"Memory Error!");
        CGColorSpaceRelease(colorspace);
        return nil;
    }
    
    CGContextRef bmpContext = CGBitmapContextCreate(imgData, width, height, 8, width * 4, colorspace, (CGBitmapInfo)kCGImageAlphaPremultipliedLast);
    if (!bmpContext) {
        ATLog(@"Create Bitmap context Error!");
        CGColorSpaceRelease(colorspace);
        return nil;
    }
    
    CGContextDrawImage(bmpContext, CGRectMake(0, 0, width, height), self.CGImage);
    for (long i = 0; i < width * height; i++) {
        imgData[4*i+3] = bmpAlpha;
    }
    
    CGImageRef imageRef = CGBitmapContextCreateImage(bmpContext);
    if (imageRef != NULL) {
        image = [[UIImage alloc] initWithCGImage:imageRef];
        CGImageRelease(imageRef);
    }
    
    CGColorSpaceRelease(colorspace);
    CGContextRelease(bmpContext);
    free(imgData);
    
    return image;
}

UIimage添加分类,改变图片透明度alpha:0.0 ~1.0 .

相关文章

  • 为图片添加透明度

    UIimage添加分类,改变图片透明度alpha:0.0 ~1.0 .

  • Unity3D 角色受攻击,画面闪动变红

    在UI中添加一个覆盖全屏幕的红色图片,设置透明度为0。 添加变量控制闪动速度 当角色受到攻击时转换透明度,然后用l...

  • 阿范:13|【Snapseed】玩转双重曝光

    在【Snapseed】中打开图片,点击【双重曝光】,在相册中添加一张图片,调整照片的大小和位置。 点击【不透明度】...

  • Python 图像库Pillow使用

    需求是将一张含有透明度的图片和一张正常图片进行常规合并,并在图片上添加文字,代码如下:'''from PIL im...

  • 6.2 Drawable的分类(一)

    1. BitmapDrawable src:图片资源id alpha:设置图片的透明度,取值范围为0.0~1.0之...

  • PYQT5 (十四)配合PILLOW使用

    主要解决两种不同的库之间图片来回调用问题。 添加logo 添加透明度 附上一个大神的笔记 错误笔记: error ...

  • 切换场景的淡入淡出效果

    通过改变图片的透明度来控制场景的淡入和淡出一、首先在A和B场景中各添加Image使其铺满屏幕,并且添加Canvas...

  • 蒙版

    ⒈先调整不透明度 Ctrl t 旋转以及调整图片使图片对齐 再讲透明度调回(shift 等比例放大缩小图片) ⒉左...

  • unity为图片添加遮罩

    1、添加两个image, 位置一致,将需要添加遮罩的图片设置为遮罩的子物体。 2、为父物体添加遮罩形状的图片,添加...

  • R语言基础作图一(点图,折线图,条形图)

    一:点图 1. 添加颜色 (点图无fill选项) 3. 添加透明度 3.颜色因子化 上图的cyl为整数,系统识别。...

网友评论

      本文标题:为图片添加透明度

      本文链接:https://www.haomeiwen.com/subject/bnfjqttx.html