ios7毛玻璃效果实现

MFC实现毛玻璃效果 使用DwmExtendFrameIntoClientArea函数实现windows7中的毛玻璃效果 立即下载

核心代码:

[cpp]  view plain copy
  1. //加模糊效果,image是图片,blur是模糊度  
  2. - (UIImage *)blurryImage:(UIImage *)image withBlurLevel:(CGFloat)blur {  
  3.     //模糊度,  
  4.     if ((blur < 0.1f) || (blur > 2.0f)) {  
  5.         blur = 0.5f;  
  6.     }  
  7.       
  8.     //boxSize必须大于0  
  9.     int boxSize = (int)(blur * 100);  
  10.     boxSize -= (boxSize % 2) + 1;  
  11.     NSLog(@"boxSize:%i",boxSize);  
  12.     //图像处理  
  13.     CGImageRef img = image.CGImage;  
  14.     //需要引入#import <Accelerate/Accelerate.h>  
  15.     /* 
  16.      This document describes the Accelerate Framework, which contains C APIs for vector and matrix math, digital signal processing, large number handling, and image processing. 
  17.      本文档介绍了Accelerate Framework,其中包含C语言应用程序接口(API)的向量和矩阵数学,数字信号处理,大量处理和图像处理。 
  18.      */  
  19.       
  20.     //图像缓存,输入缓存,输出缓存  
  21.     vImage_Buffer inBuffer, outBuffer;  
  22.     vImage_Error error;  
  23.     //像素缓存  
  24.     void *pixelBuffer;  
  25.       
  26.     //数据源提供者,Defines an opaque type that supplies Quartz with data.  
  27.     CGDataProviderRef inProvider = CGImageGetDataProvider(img);  
  28.     // provider’s data.  
  29.     CFDataRef inBitmapData = CGDataProviderCopyData(inProvider);  
  30.       
  31.     //宽,高,字节/行,data  
  32.     inBuffer.width = CGImageGetWidth(img);  
  33.     inBuffer.height = CGImageGetHeight(img);  
  34.     inBuffer.rowBytes = CGImageGetBytesPerRow(img);  
  35.     inBuffer.data = (void*)CFDataGetBytePtr(inBitmapData);  
  36.       
  37.     //像数缓存,字节行*图片高  
  38.     pixelBuffer = malloc(CGImageGetBytesPerRow(img) * CGImageGetHeight(img));  
  39.       
  40.     outBuffer.data = pixelBuffer;  
  41.     outBuffer.width = CGImageGetWidth(img);  
  42.     outBuffer.height = CGImageGetHeight(img);  
  43.     outBuffer.rowBytes = CGImageGetBytesPerRow(img);  
  44.       
  45.       
  46.     // 第三个中间的缓存区,抗锯齿的效果  
  47.     void *pixelBuffer2 = malloc(CGImageGetBytesPerRow(img) * CGImageGetHeight(img));  
  48.     vImage_Buffer outBuffer2;  
  49.     outBuffer2.data = pixelBuffer2;  
  50.     outBuffer2.width = CGImageGetWidth(img);  
  51.     outBuffer2.height = CGImageGetHeight(img);  
  52.     outBuffer2.rowBytes = CGImageGetBytesPerRow(img);  
  53.       
  54.     //Convolves a region of interest within an ARGB8888 source image by an implicit M x N kernel that has the effect of a box filter.  
  55.     error = vImageBoxConvolve_ARGB8888(&inBuffer, &outBuffer2, NULL, 0, 0, boxSize, boxSize, NULL, kvImageEdgeExtend);  
  56.     error = vImageBoxConvolve_ARGB8888(&outBuffer2, &inBuffer, NULL, 0, 0, boxSize, boxSize, NULL, kvImageEdgeExtend);  
  57.     error = vImageBoxConvolve_ARGB8888(&inBuffer, &outBuffer, NULL, 0, 0, boxSize, boxSize, NULL, kvImageEdgeExtend);  
  58.       
  59.       
  60.     if (error) {  
  61.         NSLog(@"error from convolution %ld", error);  
  62.     }  
  63.       
  64. //    NSLog(@"字节组成部分:%zu",CGImageGetBitsPerComponent(img));  
  65.     //颜色空间DeviceRGB  
  66.     CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();  
  67.     //用图片创建上下文,CGImageGetBitsPerComponent(img),7,8  
  68.     CGContextRef ctx = CGBitmapContextCreate(  
  69.                                              outBuffer.data,  
  70.                                              outBuffer.width,  
  71.                                              outBuffer.height,  
  72.                                              8,  
  73.                                              outBuffer.rowBytes,  
  74.                                              colorSpace,  
  75.                                              CGImageGetBitmapInfo(image.CGImage));  
  76.       
  77.     //根据上下文,处理过的图片,重新组件  
  78.     CGImageRef imageRef = CGBitmapContextCreateImage (ctx);  
  79.     UIImage *returnImage = [UIImage imageWithCGImage:imageRef];  
  80.       
  81.     //clean up  
  82.     CGContextRelease(ctx);  
  83.     CGColorSpaceRelease(colorSpace);  
  84.       
  85.     free(pixelBuffer);  
  86.     free(pixelBuffer2);  
  87.     CFRelease(inBitmapData);  
  88.       
  89.     CGColorSpaceRelease(colorSpace);  
  90.     CGImageRelease(imageRef);  
  91.       
  92.     return returnImage;  
  93. }  

Demo代码下载:http://download.youkuaiyun.com/detail/rhljiayou/6000293
窗口毛玻璃效果(c++源码加程序) 这是网上收集的一个窗口毛玻璃效果,用C++做的,用vs2008可以编译原文件,也可以直接运行文件夹里的demo看效果。 立即下载

相关推荐

iOS系统方法实现毛玻璃效果(模糊化处理)

调用iOS提供的接口,实现界面的模糊化如Siri时的背景效果

关于安卓毛玻璃实现(三)recyclerview静态毛玻璃

安卓毛玻璃

motosheep的博客 1478

iOS 图片 毛玻璃、圆角、图片其他设置(图片少了 app的大小也就小了)

iOSUIImage 的1、毛玻璃效果。 2、填充效果,......8种效果展示

实践一个赏心悦目的毛玻璃图片效果

作者:dinglinhttps://juejin.cn/post/7034037550809366535背景我又双叒叕来摸鱼啦!!今天又双叒叕是做需求,发现产品给了一个缩略图排列起来的列表...

weixin_46837985的博客 368

【ESP32-S3量产指南】基于Flash下载工具实现Release模式Flash加密与安全配置

本文详细介绍了ESP32-S3量产阶段如何通过Flash下载工具实现Release模式下的Flash加密与安全配置。从加密模式选择、工具配置到分区表优化,提供了一套完整的量产安全解决方案,帮助开发者有效防止固件泄露和篡改,确保设备安全。

weixin_28730131的博客 230

Circos图审美拯救计划:用TBtools复刻Nature级共线性分析图谱

本文针对Circos图在共线性分析中的审美提升问题,提供了一套基于TBtools的完整优化方案。通过构建和谐的色彩体系、精细控制信息层布局以及模仿顶刊构图逻辑,详细讲解了如何从配色、透明度、标签显示到高级参数设置,将默认图表升级为具有高级学术美感的Nature级图谱,助力研究者提升论文图表质量。

cherry的博客 911

Android快速毛玻璃虚化效果实现

在iOS设备上我们随处可见毛玻璃效果,而且最近越来越多的场合应用到了这种美观的虚化效果,包括本人的一个开源项目BlureImageView也是受此启发。所以,恰到好处的虚化效果能很好的改善用户体验,而且也能让你的app显得更加优雅。 不过,我们目前在android上很少见到毛玻璃效果,我认为很重要的原因是性能问题,虚化一张图片所需要的时间会因设备而异,如果为了虚化使得用户需要刻意

StarkHuang的博客 1685

从T型结到Wilkinson:5分钟搞懂功分器选型指南(附最新射频测试数据对比)

本文通过对比T型结、电阻型和Wilkinson三种功分器的核心原理与实测数据,提供了清晰的射频功分器选型指南。文章结合最新的2.4GHz ISM频段测试数据,分析了插入损耗、回波损耗和端口隔离度等关键指标,并针对窄带物联网、射频测试及合成系统等不同应用场景,给出了具体的选型建议和实战提醒,帮助工程师根据系统需求做出最优决策。

bush的博客 305

计算机视觉:图片的马赛克、毛玻璃效果和图片的融合

1.马赛克效果 马赛克的基本原理就是,用某一个区域的某一个像素点替代这个区域所有的像素点,从而导致图片出现模糊的效果,如下; import cv2 # 马赛克效果 img = cv2.imread(filename='../anqila21.jpg',flags=1) imgInfo = img.shape height = imgInfo[0] width = imgInfo[1] flag = 2 # 系数,系数越小,马赛克的效果越不明显 for m in range(26,height):

坚持不懈的大白的博客 1万+

从数据到图片:手把手构建FMCW雷达人体行为识别数据集(行走、跌倒、喝水等6类动作)

本文详细解析了如何利用FMCW雷达构建人体行为识别数据集,涵盖行走、跌倒、喝水等6类动作。通过多普勒特征可视化、图像标准化处理和自动化流水线设计,将原始雷达信号转化为高质量时频图像数据集,为智能家居和健康监护等应用提供可靠数据支持。

weixin_30706691的博客 384

KV STUDIO的安装与实践(一)

KV STUDIO是一种软件开发工具,用于编写、调试和管理基于Key-Value(键-值)存储的应用程序。KV STUDIO提供了一个集成开发环境(IDE),使开发人员可以方便地创建和管理键-值数据库,并编写逻辑和业务规则来操作和查询这些数据。它支持多种编程语言和平台,并提供了丰富的API和工具来简化开发过程。使用KV STUDIO,开发人员可以快速构建高效、可靠的键-值存储系统,并实现各种应用程序,如缓存、会话管理、配置存储等。本次使用plc进行案例讲解,结合小编的亲身经历,仅供参考!

weixin_47514459的博客 6352

从主题到完整 10 章小说:零基础完成 AI_NovelGenerator 本地部署

AI_NovelGenerator 是一款可本地部署的开源 AI 小说生成工具:输入一个主题,它依次产出世界观设定、角色档案、全书目录与章节正文,并通过向量召回维持长篇的上下文一致。门槛只有 Python 3.9+ 与一个 LLM API Key,按本文完整走完"部署 → 初稿 → 定稿"全流程大约需要半小时。 ## 📦 先看到成品:四份产物 一次完整流程跑完后,你会得到这四份文件: -

gitblog_00231的博客 1162

ResNet改进(20):融合Swin Transformer与ResNet

这种混合架构的设计理念是:在保留CNN强大局部特征提取能力的同时,引入Transformer的全局建模优势。我们实现的模型在ResNet18的基础上嵌入了一个简化版的Swin Transformer Block,旨在探索两种范式结合的可能性。通过在ResNet早期阶段引入Transformer模块,我们既保留了CNN强大的局部特征提取能力,又获得了Transformer的全局建模优势。本文提出的ResNet与Swin Transformer混合架构,探索了CNN与Transformer结合的可能性。

2401_82355416的博客 859

iOS7 毛玻璃效果实现

首先看效果:       核心代码: [cpp] view plaincopy //加模糊效果,image是图片,blur是模糊度   - (UIImage *)blurryImage:(UIImage *)image withBlurLevel:(CGFloat)blur {       //模糊度,     

有木有啊的专栏 3119

4、基于STM32 NUCLEO - F030R8开发板的嵌入式编程入门

本文详细介绍了如何在STM32 NUCLEO-F030R8开发板上实现LED闪烁功能,作为嵌入式编程的入门实践。内容涵盖开发板组成、跳线设置、项目创建、代码编写与解析、编译运行步骤,以及常见问题解决方法和拓展应用。通过本文学,习者可以掌握嵌入式开发的基本流程,并为后续深入学习打下基础。

m9n0o的博客 83

用 YOLOv11‑Seg 做工地实例分割:从 0 起步到效果调优,真香!

这不是一篇“官方文档翻译”,而是一篇。

weixin_43199439的博客 776

android dialog毛玻璃效果,Android 毛玻璃效果完美实现

【实例简介】Android 毛玻璃效果完美实现,不仅只有ios7里面才有,Android也能轻松实现【实例截图】【核心代码】ee1280ea-b902-4fd1-ad89-fdf4e1373d46└── BlurDialogDeamo├── AndroidManifest.xml├── ant.properties├── bin│ ├── AndroidManifest.xml│ ├── ...

weixin_36267013的博客 794

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: 仿制QQ界面
下一篇: 数据持久化(五)之CoreData
SMY_API
博客等级 码龄13年 5粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值