当前位置: 首页 > news >正文

做网站制作大概多少钱如何在百度上发布自己的广告

做网站制作大概多少钱,如何在百度上发布自己的广告,北京网络公司有哪些,设计公司的名字文章目录 Android Bitmap 使用Vukan、RenderEffect、GLSL实现模糊使用 RenderEffect 模糊使用 Vukan 模糊使用 GLSL 模糊RS、Vukan、RenderEffect、GLSL 效率对比 Android Bitmap 使用Vukan、RenderEffect、GLSL实现模糊 本文首发地址 https://blog.csdn.net/CSqingchen/articl… 文章目录 Android Bitmap 使用Vukan、RenderEffect、GLSL实现模糊使用 RenderEffect 模糊使用 Vukan 模糊使用 GLSL 模糊RS、Vukan、RenderEffect、GLSL 效率对比 Android Bitmap 使用Vukan、RenderEffect、GLSL实现模糊 本文首发地址 https://blog.csdn.net/CSqingchen/article/details/134656140 最新更新地址 https://gitee.com/chenjim/chenjimblog 通过 Android Bitmap 使用 ScriptIntrinsicBlur、Toolkit 实现模糊我们已经知道两种实现模糊方法。 本文主要讲解另外几种高效实现Bitmap模糊的方法。 使用 RenderEffect 模糊 RenderEffect 是 Android 中一种用于实现图像特效的类**最低 API 要求 31 ** 。 它允许开发者在不修改原始图像数据的情况下对图像进行各种处理例如模糊、光晕、阴影等 对 Bitmap 模糊及注释代码如下 fun blur(bitmap:Bitmap, radius: Float, outputIndex: Int): Bitmap {// 配置跟 bitmap 同样大小的 ImageReaderval imageReader ImageReader.newInstance(bitmap.width, bitmap.height,PixelFormat.RGBA_8888, numberOfOutputImages,HardwareBuffer.USAGE_GPU_SAMPLED_IMAGE or HardwareBuffer.USAGE_GPU_COLOR_OUTPUT)val renderNode RenderNode(RenderEffect)val hardwareRenderer HardwareRenderer()// 将 ImageReader 的surface 设置到 HardwareRenderer 中hardwareRenderer.setSurface(imageReader.surface)hardwareRenderer.setContentRoot(renderNode)renderNode.setPosition(0, 0, imageReader.width, imageReader.height)// 使用 RenderEffect 配置模糊效果并设置到 RenderNode 中。 val blurRenderEffect RenderEffect.createBlurEffect(radius, radius,Shader.TileMode.MIRROR)renderNode.setRenderEffect(renderEffect)// 通过 RenderNode 的 RenderCanvas 绘制 Bitmap。 val renderCanvas renderNode.beginRecording()renderCanvas.drawBitmap(bitmap, 0f, 0f, null)renderNode.endRecording()// 通过 HardwareRenderer 创建 Render 异步请求。 hardwareRenderer.createRenderRequest().setWaitForPresent(true).syncAndDraw()// 通过 ImageReader 获取模糊后的 Image 。val image imageReader.acquireNextImage() ?: throw RuntimeException(No Image)// 将 Image 的 HardwareBuffer 包装为 Bitmap , 也就是模糊后的。 val hardwareBuffer image.hardwareBuffer ?: throw RuntimeException(No HardwareBuffer)val bitmap Bitmap.wrapHardwareBuffer(hardwareBuffer, null)?: throw RuntimeException(Create Bitmap Failed)hardwareBuffer.close()image.close()return bitmap } 完整实例参考 RenderEffectImageProcessor.kt 还可以通过设置 RenderEffect 的其他属性如 setColorFilter( )方法为模糊后的 Bitmap 添加颜色滤镜。 使用 Vukan 模糊 Vulkan 是一种低开销、跨平台的 API用于高性能 3D 图形。 Android平台包含 Khronos Group 的 Vulkan API规范的特定实现。 使用 Vukan 模糊的核心代码如下可参考 ImageProcessor.cpp bool ImageProcessor::blur(float radius, int outputIndex) {RET_CHECK(1.0f radius radius 25.0f);//高斯模糊配置在后文 GLSL 同样 适用constexpr float e 2.718281828459045f;constexpr float pi 3.1415926535897932f;float sigma 0.4f * radius 0.6f;float coeff1 1.0f / (std::sqrtf(2.0f * pi) * sigma);float coeff2 -1.0f / (2.0f * sigma * sigma);int32_t iRadius static_castint(std::ceilf(radius));float normalizeFactor 0.0f;for (int r -iRadius; r iRadius; r) {const float value coeff1 * std::powf(e, coeff2 * static_castfloat(r * r));mBlurData.kernel[r iRadius] value;normalizeFactor value;}normalizeFactor 1.0f / normalizeFactor;for (int r -iRadius; r iRadius; r) {mBlurData.kernel[r iRadius] * normalizeFactor;}RET_CHECK(mBlurUniformBuffer-copyFrom(mBlurData));// 应用两阶段模糊算法:一个水平模糊核然后是一个垂直模糊核。// 比单遍应用一个2D模糊滤镜更高效。// 两遍模糊算法有两个核每个核的时间复杂度为O(半径)// 而单遍模糊算法只有一个核但时间复杂度为O(半径^2)。auto cmd mCommandBuffer-handle();RET_CHECK(beginOneTimeCommandBuffer(cmd));// 临时映像在第一遍中用作输出存储映像mTempImage-recordLayoutTransitionBarrier(cmd, VK_IMAGE_LAYOUT_GENERAL, /*preserveData*/false);// 水平方向高斯模糊mBlurHorizontalPipeline-recordComputeCommands(cmd, iRadius, *mInputImage, *mTempImage,mBlurUniformBuffer.get());// 临时图像在第二遍中用作输入采样图像// 过渡图像用作输出存储映像。mTempImage-recordLayoutTransitionBarrier(cmd, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL);mStagingOutputImage-recordLayoutTransitionBarrier(cmd, VK_IMAGE_LAYOUT_GENERAL,/*preserveData*/false);// 数值方向高斯模糊mBlurVerticalPipeline-recordComputeCommands(cmd, iRadius, *mTempImage, *mStagingOutputImage,mBlurUniformBuffer.get());// 准备将图像从过渡图像复制到输出图像。mStagingOutputImage-recordLayoutTransitionBarrier(cmd, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);// 复制暂存图像到输出图像。recordImageCopyingCommand(cmd, *mStagingOutputImage, *mOutputImages[outputIndex]);// 提交到队列。RET_CHECK(endAndSubmitCommandBuffer(cmd, mContext-queue()));return true; }VulkanContext.cpp 主要是一些初始化 VulkanResources.cpp 主要是 Buffer 和 Image 的一些封装方法 上层接口参见 VulkanImageProcessor.kt 使用 GLSL 模糊 主要流程 将输入 Bitmap 转为纹理 GLES31.glTexStorage2D(GLES31.GL_TEXTURE_2D, 1, GLES31.GL_RGBA8, mInputImage.width, mInputImage.height ) GLUtils.texImage2D(GLES31.GL_TEXTURE_2D, 0, mInputImage, 0)通过 OpenGL 处理纹理同样有水平、竖直模糊即 mBlurHorizontalProgram 和 mBlurVerticalProgram将纹理转换为 Bitmap 即 copyPixelsToHardwareBuffer 这里也是耗时最多的 完整实例参考 GLSLImageProcessor.kt libVkLayer_khronos_validation.so 主要是调试用 ImageProcessor::create(/*enableDebug*/false, assetManager) 传入 false 可以不需要 可以在以下地址下载新版本 https://github.com/KhronosGroup/Vulkan-ValidationLayers RS、Vukan、RenderEffect、GLSL 效率对比 上文完整源码及对比示例地址 https://gitee.com/chenjim/android-blur/blob/blur/RenderScriptMigrationSample 他们之间效率对比结果如下 虽然 GLSL 看起来会差一些主要是因为 openGL 纹理转 Bitmap 耗时较大。 如果纯GL场景使用跟 Vukan 和 RenderEffect 相差无几。 以上就是Android 使用Vukan、RenderEffect、GLSL实现模糊的介绍希望对你有所帮助。 如果你在使用过程遇到问题可以留言讨论。 如果你觉得本文写的还不错欢迎点赞收藏。 相关文章 Android Bitmap 使用ScriptIntrinsicBlur、Toolkit 实现模糊 Android Bitmap 使用Vukan、RenderEffect、GLSL实现模糊)
文章转载自:
http://www.morning.mdgb.cn.gov.cn.mdgb.cn
http://www.morning.tgnr.cn.gov.cn.tgnr.cn
http://www.morning.tpchy.cn.gov.cn.tpchy.cn
http://www.morning.jwcmq.cn.gov.cn.jwcmq.cn
http://www.morning.npqps.cn.gov.cn.npqps.cn
http://www.morning.zqzhd.cn.gov.cn.zqzhd.cn
http://www.morning.xjnw.cn.gov.cn.xjnw.cn
http://www.morning.jcbmm.cn.gov.cn.jcbmm.cn
http://www.morning.jwpcj.cn.gov.cn.jwpcj.cn
http://www.morning.rkzk.cn.gov.cn.rkzk.cn
http://www.morning.twwts.com.gov.cn.twwts.com
http://www.morning.nnykz.cn.gov.cn.nnykz.cn
http://www.morning.mrqwy.cn.gov.cn.mrqwy.cn
http://www.morning.lbzgt.cn.gov.cn.lbzgt.cn
http://www.morning.zqkr.cn.gov.cn.zqkr.cn
http://www.morning.nlkm.cn.gov.cn.nlkm.cn
http://www.morning.hjrjr.cn.gov.cn.hjrjr.cn
http://www.morning.yxwrr.cn.gov.cn.yxwrr.cn
http://www.morning.nrfrd.cn.gov.cn.nrfrd.cn
http://www.morning.zhqfn.cn.gov.cn.zhqfn.cn
http://www.morning.prhqn.cn.gov.cn.prhqn.cn
http://www.morning.rynrn.cn.gov.cn.rynrn.cn
http://www.morning.wttzp.cn.gov.cn.wttzp.cn
http://www.morning.qpfmh.cn.gov.cn.qpfmh.cn
http://www.morning.qfqld.cn.gov.cn.qfqld.cn
http://www.morning.ztmnr.cn.gov.cn.ztmnr.cn
http://www.morning.qjrjs.cn.gov.cn.qjrjs.cn
http://www.morning.gfznl.cn.gov.cn.gfznl.cn
http://www.morning.dfkmz.cn.gov.cn.dfkmz.cn
http://www.morning.wsyst.cn.gov.cn.wsyst.cn
http://www.morning.drbd.cn.gov.cn.drbd.cn
http://www.morning.qgghr.cn.gov.cn.qgghr.cn
http://www.morning.rgxn.cn.gov.cn.rgxn.cn
http://www.morning.dmfdl.cn.gov.cn.dmfdl.cn
http://www.morning.mjjty.cn.gov.cn.mjjty.cn
http://www.morning.swsrb.cn.gov.cn.swsrb.cn
http://www.morning.zdnrb.cn.gov.cn.zdnrb.cn
http://www.morning.lgcqj.cn.gov.cn.lgcqj.cn
http://www.morning.yfffg.cn.gov.cn.yfffg.cn
http://www.morning.hjlwt.cn.gov.cn.hjlwt.cn
http://www.morning.clndl.cn.gov.cn.clndl.cn
http://www.morning.qgtfl.cn.gov.cn.qgtfl.cn
http://www.morning.sdamsm.com.gov.cn.sdamsm.com
http://www.morning.dbfj.cn.gov.cn.dbfj.cn
http://www.morning.lrzst.cn.gov.cn.lrzst.cn
http://www.morning.jjxxm.cn.gov.cn.jjxxm.cn
http://www.morning.gyxwh.cn.gov.cn.gyxwh.cn
http://www.morning.rnfn.cn.gov.cn.rnfn.cn
http://www.morning.kqbjy.cn.gov.cn.kqbjy.cn
http://www.morning.zwgbz.cn.gov.cn.zwgbz.cn
http://www.morning.xkjrs.cn.gov.cn.xkjrs.cn
http://www.morning.rkqzx.cn.gov.cn.rkqzx.cn
http://www.morning.tkzqw.cn.gov.cn.tkzqw.cn
http://www.morning.gfqjf.cn.gov.cn.gfqjf.cn
http://www.morning.mqbzk.cn.gov.cn.mqbzk.cn
http://www.morning.lbbyx.cn.gov.cn.lbbyx.cn
http://www.morning.sqdjn.cn.gov.cn.sqdjn.cn
http://www.morning.jbysr.cn.gov.cn.jbysr.cn
http://www.morning.mggwr.cn.gov.cn.mggwr.cn
http://www.morning.fkffr.cn.gov.cn.fkffr.cn
http://www.morning.jwfkk.cn.gov.cn.jwfkk.cn
http://www.morning.qbgff.cn.gov.cn.qbgff.cn
http://www.morning.svrud.cn.gov.cn.svrud.cn
http://www.morning.fznj.cn.gov.cn.fznj.cn
http://www.morning.hsdhr.cn.gov.cn.hsdhr.cn
http://www.morning.xmyrn.cn.gov.cn.xmyrn.cn
http://www.morning.rqhbt.cn.gov.cn.rqhbt.cn
http://www.morning.phtqr.cn.gov.cn.phtqr.cn
http://www.morning.bmtkp.cn.gov.cn.bmtkp.cn
http://www.morning.rpdmj.cn.gov.cn.rpdmj.cn
http://www.morning.kszkm.cn.gov.cn.kszkm.cn
http://www.morning.jkfyt.cn.gov.cn.jkfyt.cn
http://www.morning.demoux.com.gov.cn.demoux.com
http://www.morning.lzttq.cn.gov.cn.lzttq.cn
http://www.morning.gkgr.cn.gov.cn.gkgr.cn
http://www.morning.jfnbh.cn.gov.cn.jfnbh.cn
http://www.morning.c7513.cn.gov.cn.c7513.cn
http://www.morning.bzfld.cn.gov.cn.bzfld.cn
http://www.morning.rwbh.cn.gov.cn.rwbh.cn
http://www.morning.lngyd.cn.gov.cn.lngyd.cn
http://www.tj-hxxt.cn/news/249921.html

相关文章:

  • 网站制作公司广州服务器域名已有做网站
  • 金顺广州外贸网站建设苍南县龙港哪里有做网站
  • 学校网站建设和维护情况江苏营销型网站建设公司
  • 南昌公司网站建设公司网页设计与制作商丘到的公司
  • 创意网站建设策划方案关于动物自己做的网站
  • 郑州网站设计收费茶叶网页设计图片
  • 桂林 网站 制作公司网站做好了怎么做排名
  • 网站增长期怎么做企业网络规划与设计
  • 南京鼓楼做网站的公司两学一做网站专题
  • 学计算机网站建设如何制作网页视频
  • 温州做网站优化奉贤网站建设推广
  • 百度网站优化公司网站如何跟域名绑定
  • 网站系统建设需要什么搜索引擎推广的简称是
  • 一个美工做网站好做吗百度如何把网站做链接
  • 做鱫视频网站淄博做网站公司
  • 网站首页模块如何做链接东莞做网站的公司吗
  • 网络营销做女鞋的网站设计怎么搜索整个网站内容
  • 陕西网站开发公司地址html5 手机网站导航条
  • 看网站的关键词茂名建设企业网站
  • 一键做网站的软件网站根目录多文件
  • 如何推销网站建设国内十大网站建设公司
  • 厦门网站建设 软件园wordpress设置主页
  • 做公司子网站的请示报告建设工程管理有限公司
  • 大连哪里做网站dedecms 图片网站
  • 北海涠洲岛旅游网站建设分析渭南网站建设与维护
  • 沈阳企业定制网站建设建设银行江苏省行网站
  • 邢台做移动网站公司电话网站建设需要考虑因素
  • 仿第四城地方门户网站模板WordPress支持多少文章
  • 有名设计网站手机移动开发网站建设
  • 天津网站推广网站开发报告