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

南京高端网站制作公司宁波小网站制作推广

南京高端网站制作公司,宁波小网站制作推广,拼多多网上购物商城,北京最新进出京政策(今天)管理颜色 Skia使用的所有颜色空间,通过如何从该颜色空间,转换为叫XYZD50的通用连接颜色空间,来描述自己.可从相同描述中,推导出如何从XYZD50空间转换回原颜色空间. XYZD50是像RGB一样以三维表示的颜色空间,但XYZ部分则根本不像RGB,而是这些通道的线性混杂.Y最接近…管理颜色 Skia使用的所有颜色空间,通过如何从该颜色空间,转换为叫XYZD50的通用连接颜色空间,来描述自己.可从相同描述中,推导出如何从XYZD50空间转换回原颜色空间. XYZD50是像RGB一样以三维表示的颜色空间,但XYZ部分则根本不像RGB,而是这些通道的线性混杂.Y最接近你认为的亮度,但X和Z则更抽象. 如果熟悉,这类似YUV.D50部分指的是该空间大约5000开尔文的白点. 所有管理颜色绘图分为六个部分,三个步骤连接源颜色到该XYZD50空间,然后三个对称步骤从XYZD50连接回目标颜色空间. 一些步骤可约掉.步骤如下: 管理颜色步骤 1,如果源颜色是预乘的,则取消乘法,α不参与管理颜色,如果乘了它,就要除掉. 2,使用源颜色空间的传递函数来线性化源颜色 3,通过乘以3x3矩阵,把这些未预乘的线性源颜色转换为XYZD50色域. 4,通过乘以3x3矩阵,来转换这些XYZD50颜色到目标色域. 5,用目标颜色空间的传递函数的逆函数编码该颜色. 6,如果目的是预乘的,则按α预乘. 该逻辑在SkColorSpaceXformSteps类型中.会看到它有5个步骤:总是合并最里面的两个运算为一个3x3矩阵乘法. 优化 画画时,跳过基本无操作步骤: 1,如果已去掉预乘源则跳过1. 2,如果已线性编码源,则跳过2 3,如果单个连接矩阵是相同(即源和目标颜色空间带相同色域),则跳过3和4 4,如果目标需要线性编码,则跳过5 5,如果目标想要去掉预乘,则跳过6 更高级优化: 1,如果已跳过3和4,则传递函数相同时,可跳过2和5.通过给定传递函数发送颜色,它自己的逆是无操作的 2,如果跳过了2-5的所有步骤,如果要同时做1和6,则可跳过1和6,不必去掉预乘,再预乘. 3,根据可允许跳过更多步骤,来按未预乘或预乘对待不透明的颜色. 多数时候,都是闲着.如果要把给定颜色空间中的不透明颜色绘画到使用相同颜色空间标记的目标位置,会注意到可跳过所有这六个步骤. 一般,如果需要转换色域,应期望所有6步都有.2和5是计算成本最高的. 空针SkColorSpace默认值 现在空针SkColorSpace默认值如何融入所有这些?用该小片段作为序言: if (srcCS nullptr) { srcCS sRGB; }if (dstCS nullptr) { dstCS srcCS; }顺序很重要.要点是,假设未标记来源都是sRGB.如果未标记你的表面,就会表现得好像目的地与你绘画的来源流畅匹配,这至少跳过了上面列举的2-5步骤,保持了与引入管理颜色前,复古的Skia过去的工作方式兼容的非管理颜色绘画模式. 它不是很有原则,但维护很方便. 坐标空间 概览 Skia一般有两个不同坐标空间:设备和本地坐标空间.设备坐标由要渲染的表面(或其他设备)定义.它们从表面左上角的(0,0)到右下角的(w,h),它们以像素为单位测量. 本地坐标 本地坐标空间是向SkCanvas提供几何图形和着色器的方式.默认,本地和设备坐标系相同.即几何图形一般按像素指定. 在此,在(100,50)定位矩形,并指定它的宽高. 本地坐标还定义和求值绘画上的SkShader.在此,定义了线性渐变着色器,从绿色(当x0时)到蓝色(当x50时). 着色器不随几何图形移动 现在,试在(100,50)处绘画渐变填充正方形. 记住,本地坐标空间没有改变.原点仍在曲面的左上角.应在(100,50)定位已指定几何图形,但当x从0变为50时,SkShader仍产生梯度. 滑动矩形到SkShader定义渐变中.着色器不会随几何图形移动. 变换本地坐标空间 为了获得期望效果,可移动位置到100和150,来创建新的渐变着色器.但使着色器难以重用.相反,可用SkCanvas上的方法来更改本地坐标空间. 这会在画布变换矩阵定义的新空间中求值,所有本地坐标(几何体和着色器). 变换着色器坐标空间 最后,可转换相对画布本地坐标空间的SkShader的坐标空间.为此,在创建SkShader时提供localMatrix参数. 此时,由SkCanvas矩阵转换几何图形.由SkCanvas矩阵和该着色器的localMatrix变换SkShader.另一个视角:localMatrix定义了一个映射着色器的坐标到几何体坐标空间的转换. 如,这里是渐变填充框.它首先平移了50个单位.然后,(在盒子中心)45度旋转画布.旋转盒子的几何形状,及其中的渐变. 比较第二个示例.仍平移50个单位.不过,在此,仅按SkGradientShader::MakeLinear函数的localMatrix,旋转着色器45度.现在,该框保持未旋转状态,但在该框内旋转了渐变. 安装depot_tools和Git 按安装Chromium的depot_tools中的说明下载depot_tools(包括gclient,git-cl和Ninja).以下是摘要. git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH${PWD}/depot_tools:${PATH}(如果尚未安装)depot_tools还在系统上安装Git. 安装bazelisk 如果要添加或删除文件或更改#include,则要用Bazel重新生成BUILD.bazel文件的某些部分.建议安装为你(由bazelversion指定)选取适当的Bazel版本的Bazelisk这里,而不是手动安装Bazel这里. 安装ninja 可用gclient或bin/fetch-ninja提供Ninja. 克隆Skia仓库 可用git或随depot_tools一起安装的fetch工具克隆Skia. git clone https://skia.googlesource.com/skia.git # //或 # fetch skia cd skia python3 tools/git-sync-deps bin/fetch-ninja 开始使用Skia 现在可能想要构建Skia这里构建步骤.
http://www.zqtcl.cn/news/48837/

相关文章:

  • 可以投稿的写作网站深圳企业网络推广公司
  • 什么网站算是h5做的如何建设网站zy258
  • 有创意的设计主题免费优化网站
  • 汕头网站排名优化报价深圳最好seo
  • 怎样进行网站后台管理西安网页设计培训班费用
  • 深圳网站搭建找谁唐山做企业网站公司
  • 池州北京网站建设外贸建站哪好
  • 无锡企业网站排名优化wordpress钩子大全
  • 上海高端网站定制重庆工程造价信息
  • 网站载入页面怎么做福建省建建设行业信用评分网站
  • 上海服装网站建设惠州百度seo电话
  • 沃然建站平台官网做微信小程序和做网站
  • 金阊公司网站建设电话学校教务网站的设计与实现
  • 网站地图设计做网站需要会语言吗
  • 里水哪里做有做网站同仁行业网站建设报价
  • 商城网站设计与实现江苏建设通网站
  • 网站建设作用个人网站优秀
  • 做301网站打不开定制型网站建设价格
  • 湖南公司响应式网站建设价位泗阳网站定制
  • 河北seo网站优化报价多店铺开源商城系统
  • 30岁做网站运营公司取名大全最新版的
  • 南京市招办南京网站设计望野赏析
  • 如何查询网站空间商建自己的个人网站
  • 浙江省网站icp备案网站自助服务建设策划
  • 石家庄学做网站建设培训班加工厂怎么找订单
  • 网站建设算软件还是硬件在线做简单的网站吗
  • 房地产怎么做网站推广企业解决方案案例分析
  • 怎么看网站开发的技术湖南网站推广营销设计
  • 网站版权模板青岛金融网站建设
  • 谷歌排名网站优化网站搭建赚钱吗