距离上次投稿也已经过去好几个月了,最近空下来,准备先手写一个利用第三方库的方式来连接Rockwell 的PLC,这次先选用最近胡总的hsl库。 主要步骤如下: 第一步:先利用HSL库,实例化连接对象; 第二步:传入连接参数,常规CIP协议的端口号为44818,与S7协议的102端口类似; 第三步:建立连接; 码好代码后,按F5,跑起来,填入相应参数
出处:http://zh.wikipedia.org/wiki/HSL%E5%92%8CHSV%E8%89%B2%E5%BD%A9%E7%A9%BA%E9%97%B4 HSL 和 HSV(也叫做 HSB [编辑]HSL 与 HSV 的比較 HSL 和 HSV 色彩空间比較。 HSL 类似于 HSV。 对于一些人,HSL 更好的反映了“饱和度”和“亮度”作为两个独立參数的直觉观念,可是对于还有一些人,它的饱和度定义是错误的,由于很柔和的差点儿白色的颜色在 HSL 能够被定义为是全然饱和的。 对于 HSV 还是 HSL 更适合于人类用户界面是有争议的。 HSL 和 HSV 有相同的色相定义,可是其它分量不同。
此外,还有 HSV/HSB,这俩用明度而不是亮度,都是差不多的东西: 所以说,HSL 对人很友好,调解下明暗度、色彩饱和度等很直观。在网页里支持 RGB 和 HSL 这俩表示法。 所以颜色选择器一般都是 HSL 的,调节色相、饱和度、亮度这三者,而不是直接调节 RGB。 最后显示的时候才转成 RGB。 HSL 是人更喜欢的颜色表示法,用色相、饱和度、亮度来表示颜色,最后转成 RGB。 (HSV/HSB 和 HSL 是一样的东西,只不过叫明度而不是亮度) ColorPicker 一般都是用 HSL 来实现的,通过滑块调节色相、饱和度、亮度,显示的时候加上几个渐变,就能实现这种组件: 理解了 HSL 颜色表示法,就能实现 ColorPicker 组件。
再来谈谈HSL色彩( HSL color ) 其实国外有不少设计师喜欢HSL(Hue, Saturation, Lightness)色彩写法,HSL色彩的写法是HSL(色相角度但不加单位0~360, 色彩饱和度 HSL color 亮度/明度(Lightness) 如果我们把上面这张HSL 色彩的H(Hue) 平面图形的亮度(Lightness)转换成一个立体的圆柱体时,你就能看到如下图所示 ? HSL color Lightness 由中间开始,越是上方的就越是增亮(白色份量增加),增亮到最后就变成纯白,而越是往下方则越是缩减亮度(黑色份量增加),亮度缩减到最后就变成了黑色,所以一般来说,HSL 所以,了解以上HSL三个数值的差异之后,倘若我们今天要一个黄色,那我们就可先设定HSL(60, 100%, 50%),色相60度为黄色,预设100%饱和(鲜艳) ,预设正常亮度50%,如果我们需要一个鹅黄色的话 ,那我们就只需要把黄色多加一点白色,所以只要修改L的数值即可,像是这样HSL(45, 100%, 80%),如果我们希望色彩接近橙色的话,那我们就修改色相(Hue)角度往R方向调整即可,像是这样HSL(
white; } .box2 { background-color: rgba(0,0,0,0.5); } .box3 { background-color: hsl background-color: hsl(0,100%,50%); HSL即是代表色调,饱和度,亮度三个通道的颜色. h:Hue(色调)。
Flutter for OpenHarmony 渐变色生成器:从 HSL 调色到代码一键复制的完整实践 在 UI/UX 设计中,渐变色早已超越装饰性元素,成为塑造品牌识别、引导用户注意力和提升视觉层次的核心工具 本文将深入剖析一段完整的 Flutter 代码,展示如何构建一个交互式渐变色生成器——它不仅支持实时 HSL 调色、线性/径向切换,还能一键收藏调色板并复制生产级代码,真正实现“所见即所得”的开发体验 HSL 颜色模型 // 使用 HSL(色相/饱和度/亮度)而非 RGB double _hue1 = 200; // 色相 [0-360] double _saturation1 = 0.7 _getColor1() { return HSLColor.fromAHSL(1.0, _hue1, _saturation1, _brightness1).toColor(); } 设计友好:HSL 教学价值 直观理解 HSL 模型如何影响最终颜色(如固定色相调整亮度观察变化)。
: Unable to instantiate activity ComponentInfo{cn.hsl.example/cn.hsl.example.xxxActivity}: java.lang.NullPointerException 8620-8620/cn.hsl.example E/DEBUG: um_os: android 2021-03-26 11:30:49.668 8620-8620/cn.hsl.example E/ E/DEBUG: Process Name: 'cn.hsl.example' 2021-03-26 11:30:49.668 8620-8620/cn.hsl.example E/DEBUG: Thread 11:30:49.668 8620-8620/cn.hsl.example W/cn.hsl.example: Accessing hidden field Ljava/lang/Throwable; at cn.hsl.example.xxxActivity.
这是打印出来的类 kim.hsl.router_annotation.model.RouteBean$Type kim.hsl.router.Router_Group_app kim.hsl.router_annotation.Route kim.hsl.router.Router_Root_library2 kim.hsl.router.Router_Root_app kim.hsl.router.Router_Group_library2 kim.hsl.router_annotation.model.RouteBean $Type loadInfo : kim.hsl.router.Router_Group_app loadInfo : kim.hsl.router_annotation.Route loadInfo : kim.hsl.router.Router_Group_library2 loadInfo : kim.hsl.router.Router_Group_library2 loadInfo : kim.hsl.router_annotation.model.RouteBean
kim.hsl.coroutine I 从通道中获取数据 1 21:35:49.137 System.out kim.hsl.coroutine I 向通道中发送数据 1 21:35:51.177 System.out kim.hsl.coroutine I 从通道中获取数据 2 21:35:51.178 System.out kim.hsl.coroutine kim.hsl.coroutine I 向通道中发送数据 2 21:48:02.743 System.out kim.hsl.coroutine I 向通道中发送数据 3 kim.hsl.coroutine I 从通道中获取数据 2 21:48:06.887 System.out kim.hsl.coroutine I 从通道中获取数据 3 kim.hsl.coroutine I 向通道中发送数据 2 21:48:02.743 System.out kim.hsl.coroutine I 向通道中发送数据 3
I 收集元素 0 21:51:03.015 System.out kim.hsl.coroutine I 发射元素 0 21:51:03.015 System.out kim.hsl.coroutine I 收集元素 1 21:51:03.015 System.out kim.hsl.coroutine I 发射元素 1 21:51:03.015 System.out kim.hsl.coroutine I 收集元素 0 21:57:22.932 System.out kim.hsl.coroutine I 发射元素 0 21:57:22.933 System.out kim.hsl.coroutine I 收集元素 1 21:57:22.933 System.out kim.hsl.coroutine I 发射元素 1 21:57:22.933 System.out kim.hsl.coroutine : Unable to start activity ComponentInfo{kim.hsl.coroutine/kim.hsl.coroutine.MainActivity}: java.io.IOException
: COMMAND_ISSUE_DURATION : 101644281 2020-06-25 13:19:05.339 14179-14229/kim.hsl.rtmp I/FrameMetrics: : 1 2020-06-25 13:19:05.339 14179-14229/kim.hsl.rtmp I/FrameMetrics: INPUT_HANDLING_DURATION : 50625 /kim.hsl.rtmp I/FrameMetrics: VSYNC_TIMESTAMP : 164845526994092 2020-06-25 13:19:05.371 14179-14229/kim.hsl.rtmp -14229/kim.hsl.rtmp I/FrameMetrics: TOTAL_DURATION : 284281446 2020-06-25 13:19:05.371 14179-14229/kim.hsl.rtmp -14229/kim.hsl.rtmp I/FrameMetrics: TOTAL_DURATION : 5902960 2020-06-25 13:19:05.377 14179-14229/kim.hsl.rtmp
文章目录 一、报错信息 二、解决方案 一、报错信息 ---- 分享内部存储到文件到其它应用 ; 2021-05-18 16:10:23.480 31881-31881/kim.hsl.file E/DEBUG --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 2021-05-18 16:10:23.480 31881-31881/kim.hsl.file E/DEBUG: Process Name: 'kim.hsl.file' 2021-05-18 16:10:23.480 31881-31881/kim.hsl.file E/DEBUG: Thread Name: 'main' 2021-05-18 16:10:23.480 31881-31881/kim.hsl.file E/DEBUG: Back traces starts. 2021-05-18 root that contains /data/data/kim.hsl.file/files/5.mp3 2021-05-18 16:10:23.481 31881-31881/kim.hsl.file
StringService; import kim.hsl.route_core.template.IRouteGroup; import kim.hsl.router_annotation.model.RouteBean ("kim.hsl.route_core.template.IRouteRoot"); 其次 , 生成 loadInto 函数的参数 Map<String, Class<? ; import java.util.Map; import kim.hsl.component.MainActivity; import kim.hsl.route_core.template.IRouteGroup ; import android.util.Log; import kim.hsl.base.ComponentService; import kim.hsl.router_annotation.Route ; import java.util.Map; import kim.hsl.library2.StringService; import kim.hsl.route_core.template.IRouteGroup
首先,对于这个颜色系统,十六进制值需要转换为hsl。 * { --surface1-light: hsl(var(--brand-hue) 25% 90%); --surface2-light: hsl(var(--brand-hue) 20% 99% ); --surface3-light: hsl(var(--brand-hue) 20% 92%); --surface4-light: hsl(var(--brand-hue) 20% 85% ) 30% 30%); --surface1-light: hsl(var(--brand-hue) 25% 90%); --surface2-light: hsl(var(--brand-hue -dim: hsl(var(--hue) 10% 25%); --surface3-dim: hsl(var(--hue) 5% 30%); --surface4-dim: hsl(var(-
-12-23 13:10:56.581 28345-28345/kim.hsl.coroutine I/System.out: 发射元素 1 2022-12-23 13:10:56.581 28345- 28345/kim.hsl.coroutine I/System.out: 接收到元素 1 2022-12-23 13:10:57.619 28345-28345/kim.hsl.coroutine I /System.out: 发射元素 2 2022-12-23 13:10:57.619 28345-28345/kim.hsl.coroutine I/System.out: 接收到元素 2 2022- /kim.hsl.coroutine I/System.out: 接收到元素 1 2022-12-23 13:31:56.882 5313-5313/kim.hsl.coroutine I/System.out 5313-5313/kim.hsl.coroutine I/System.out: 发射元素 3 2022-12-23 13:31:57.922 5313-5313/kim.hsl.coroutine
【测试环境】 vs2019 opencv==4.8.0 【效果演示】 【核心实现代码】 HSL.hpp #ifndef OPENCV2_PS_HSL_HPP_ #define OPENCV2_PS_HSL_HPP _ #include "opencv2/core.hpp" using namespace cv; namespace cv { enum HSL_COLOR { HSL_ALL, HSL_RED , HSL_YELLOW, HSL_GREEN, HSL_CYAN, HSL_BLUE, HSL_MAGENTA, }; /** * Class of HSL parameters for */ class HSL { public: HSL(); virtual ~HSL(); HSLChannel channels[7]; int adjust(InputArray src class HSL::HSL() { for (int i = 0; i < 7; i++) channels[i].setColorIndex(i); } HSL::~HSL() { }
= /data/user/0/kim.hsl.a7_zip/files , exeFile = /data/user/0/kim.hsl.a7_zip/files/7zr 2021-05-06 20: 44:57.924 8966-8966/kim.hsl.a7_zip I/MainActivity: 内置存储空间存在该 /data/user/0/kim.hsl.a7_zip/files/7zr 文件 2021-05-06 20:44:57.925 8966-8966/kim.hsl.a7_zip I/MainActivity: 压缩命令 : /data/user/0/kim.hsl.a7_zip/ /7zr x /data/user/0/kim.hsl.a7_zip/files/files.7z -o/data/user/0/kim.hsl.a7_zip/files/unzip_file 2021 /user/0/kim.hsl.a7_zip/files/files.7z 2021-05-06 20:45:00.135 8966-8966/kim.hsl.a7_zip I/MainActivity
/HSL2RGB原理介绍 上面的IP大部分原理网上都有介绍,而且很详细,今天主要介绍RGB-HSL转换的原理。 从 RGB 转换为 HSL 以及从 HSL 转换为 RGB 时,通过增加 HSL 颜色空间的饱和度,RGB 颜色变得更强。 RGB 转 HSL 色相、饱和度和强度元素控制更宽的颜色范围以实现图像增强。 将颜色增益应用于 HSL 后,HSL 颜色空间将转换回 RGB 颜色空间。在此过程中,对每个 HSL 元素应用乘法增益(权重)控制后,生成的增强图像颜色看起来自然且更明亮。 HSL 转 RGB 视频颜色处理模块中实现的HSL-RGB颜色空间采用HSL到RGB转换算法,并采用标准Xilinx AXI4流接口进行设计,因此可以作为模块插入任何图像处理管道中。 HSL 到 RGB 模块将输入 HSL 转换为 RGB 颜色空间。该模块具有时钟和复位端口。iRGB端口由具有有效信号的红、绿、蓝RGB通道组成,用于将RGB像素转换为HSL像素。
= /data/user/0/kim.hsl.a7_zip/files , exeFile = /data/user/0/kim.hsl.a7_zip/files/7zr 2021-05-07 13: 32:12.525 31022-31022/kim.hsl.a7_zip I/MainActivity: 内置存储空间存在该 /data/user/0/kim.hsl.a7_zip/files/7zr /0/kim.hsl.a7_zip/files/7zr a /data/user/0/kim.hsl.a7_zip/files/files_jni.7z /data/user/0/kim.hsl.a7_ /user/0/kim.hsl.a7_zip/files/7zr a /data/user/0/kim.hsl.a7_zip/files/files_jni.7z /data/user/0/kim.hsl.a7 /data/user/0/kim.hsl.a7_zip/files 2021-05-07 13:32:19.188 31022-31022/kim.hsl.a7_zip I/octopus: 4 .
29409/kim.hsl.coroutine I/System.out: 发射元素 1 2022-12-23 18:16:43.655 29409-29409/kim.hsl.coroutine I/ start activity ComponentInfo{kim.hsl.coroutine/kim.hsl.coroutine.MainActivity}: kotlinx.coroutines.JobCancellationException -30105/kim.hsl.coroutine I/System.out: 收集到元素 3 2022-12-23 18:24:01.827 30105-30105/kim.hsl.coroutine start activity ComponentInfo{kim.hsl.coroutine/kim.hsl.coroutine.MainActivity}: kotlinx.coroutines.JobCancellationException -31502/kim.hsl.coroutine D/AndroidRuntime: Shutting down VM 2022-12-23 18:28:40.149 31502-31502/kim.hsl.coroutine