Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
jobily
WPFDevelopers
提交
bb693478
W
WPFDevelopers
项目概览
jobily
/
WPFDevelopers
9 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
WPFDevelopers
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
bb693478
编写于
8月 08, 2023
作者:
闫
闫驚鏵
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update ColorConverter.cs
上级
c81fff3a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
45 addition
and
35 deletion
+45
-35
src/WPFDevelopers.Shared/Core/Converts/ColorConverter.cs
src/WPFDevelopers.Shared/Core/Converts/ColorConverter.cs
+45
-35
未找到文件。
src/WPFDevelopers.Shared/Core/Converts/ColorConverter.cs
浏览文件 @
bb693478
...
@@ -9,52 +9,55 @@ namespace WPFDevelopers.Converts
...
@@ -9,52 +9,55 @@ namespace WPFDevelopers.Converts
{
{
public
class
ColorToRedConverter
:
IValueConverter
public
class
ColorToRedConverter
:
IValueConverter
{
{
private
Color
?
_curColor
=
null
;
private
Color
?
_curColor
;
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
{
_curColor
=
(
Color
)
value
;
_curColor
=
(
Color
)
value
;
return
_curColor
.
Value
.
R
;
return
_curColor
.
Value
.
R
;
}
}
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
{
return
Color
.
FromArgb
(
_curColor
.
Value
.
A
,
(
byte
)(
double
.
Parse
(
value
.
ToString
())),
_curColor
.
Value
.
G
,
_curColor
.
Value
.
B
);
return
Color
.
FromArgb
(
_curColor
.
Value
.
A
,
(
byte
)
double
.
Parse
(
value
.
ToString
()),
_curColor
.
Value
.
G
,
_curColor
.
Value
.
B
);
}
}
}
}
public
class
ColorToGreenConverter
:
IValueConverter
public
class
ColorToGreenConverter
:
IValueConverter
{
{
private
Color
?
_curColor
=
null
;
private
Color
?
_curColor
;
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
{
_curColor
=
(
Color
)
value
;
_curColor
=
(
Color
)
value
;
return
_curColor
.
Value
.
G
;
return
_curColor
.
Value
.
G
;
}
}
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
{
return
Color
.
FromArgb
(
_curColor
.
Value
.
A
,
_curColor
.
Value
.
R
,
(
byte
)(
double
.
Parse
(
value
.
ToString
())),
_curColor
.
Value
.
B
);
return
Color
.
FromArgb
(
_curColor
.
Value
.
A
,
_curColor
.
Value
.
R
,
(
byte
)
double
.
Parse
(
value
.
ToString
()),
_curColor
.
Value
.
B
);
}
}
}
}
public
class
ColorToBlueConverter
:
IValueConverter
public
class
ColorToBlueConverter
:
IValueConverter
{
{
private
Color
?
_curColor
=
null
;
private
Color
?
_curColor
;
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
{
_curColor
=
(
Color
)
value
;
_curColor
=
(
Color
)
value
;
return
_curColor
.
Value
.
B
;
return
_curColor
.
Value
.
B
;
}
}
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
{
return
Color
.
FromArgb
(
_curColor
.
Value
.
A
,
_curColor
.
Value
.
R
,
_curColor
.
Value
.
G
,
(
byte
)(
double
.
Parse
(
value
.
ToString
())));
return
Color
.
FromArgb
(
_curColor
.
Value
.
A
,
_curColor
.
Value
.
R
,
_curColor
.
Value
.
G
,
(
byte
)
double
.
Parse
(
value
.
ToString
()));
}
}
}
}
...
@@ -62,7 +65,7 @@ namespace WPFDevelopers.Converts
...
@@ -62,7 +65,7 @@ namespace WPFDevelopers.Converts
{
{
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
{
return
new
SolidColorBrush
((
Color
)
value
);
return
new
SolidColorBrush
((
Color
)
value
);
}
}
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
...
@@ -73,79 +76,86 @@ namespace WPFDevelopers.Converts
...
@@ -73,79 +76,86 @@ namespace WPFDevelopers.Converts
public
class
ColorToStringConverter
:
IValueConverter
public
class
ColorToStringConverter
:
IValueConverter
{
{
private
Color
?
_curColor
=
null
;
private
Color
?
_curColor
;
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
{
_curColor
=
(
Color
)
value
;
_curColor
=
(
Color
)
value
;
return
_curColor
.
ToString
();
return
_curColor
.
ToString
();
}
}
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
{
var
colorStr
=
(
string
)
value
;
var
colorStr
=
(
string
)
value
;
if
(!
string
.
IsNullOrWhiteSpace
(
colorStr
)
&&
Regex
.
IsMatch
(
colorStr
,
@"^#[\da-fA-F]{6,8}$"
))
if
(!
string
.
IsNullOrWhiteSpace
(
colorStr
)
&&
Regex
.
IsMatch
(
colorStr
,
@"^#[\da-fA-F]{6,8}$"
))
return
ColorConverter
.
ConvertFromString
(
colorStr
);
return
ColorConverter
.
ConvertFromString
(
colorStr
);
return
_curColor
.
Value
;
return
_curColor
.
Value
;
}
}
}
}
public
class
HToColorConverter
:
IValueConverter
public
class
HToColorConverter
:
IValueConverter
{
{
private
Color
?
_curColor
=
null
;
private
Color
?
_curColor
;
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
{
_curColor
=
(
Color
)
value
;
_curColor
=
(
Color
)
value
;
return
$"
{
ColorUtil
.
ColorFromH
(
_curColor
.
Value
)}
"
;
return
$"
{(
int
)
ColorUtil
.
RgbToHSL
(
_curColor
.
Value
).
H
}
"
;
//return $"{ColorUtil.ColorFromH(_curColor.Value)}";
}
}
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
{
var
colorStr
=
(
string
)
value
;
var
colorStr
=
(
string
)
value
;
if
(!
string
.
IsNullOrWhiteSpace
(
colorStr
)
&&
double
.
TryParse
(
colorStr
,
out
double
hValue
))
if
(!
string
.
IsNullOrWhiteSpace
(
colorStr
)
&&
double
.
TryParse
(
colorStr
,
out
var
hValue
))
_curColor
=
ColorUtil
.
ConvertHSLToColor
(
_curColor
.
Value
,
hValue
:
hValue
%
360
);
_curColor
=
ColorUtil
.
ConvertHSLToColor
(
_curColor
.
Value
,
hValue
%
360
);
//_curColor = ColorUtil.ConvertHSLToColor(_curColor.Value, hValue: hValue % 360);
return
_curColor
;
return
_curColor
;
}
}
}
}
public
class
SToColorConverter
:
IValueConverter
public
class
SToColorConverter
:
IValueConverter
{
{
private
Color
?
_curColor
=
null
;
private
Color
?
_curColor
;
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
{
_curColor
=
(
Color
)
value
;
_curColor
=
(
Color
)
value
;
return
$"
{
ColorUtil
.
ColorFromS
(
_curColor
.
Value
)}
%"
;
return
$"
{
Math
.
Round
(
ColorUtil
.
RgbToHSL
(
_curColor
.
Value
).
S
*
100
)}
%"
;
//return $"{ColorUtil.ColorFromS(_curColor.Value)}%";
}
}
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
{
var
colorStr
=
(
string
)
value
;
var
colorStr
=
(
string
)
value
;
if
(!
string
.
IsNullOrWhiteSpace
(
colorStr
)
&&
double
.
TryParse
(
colorStr
,
out
double
sValue
))
if
(!
string
.
IsNullOrWhiteSpace
(
colorStr
)
&&
double
.
TryParse
(
colorStr
,
out
var
sValue
))
_curColor
=
ColorUtil
.
ConvertHSLToColor
(
_curColor
.
Value
,
sValue
:
sValue
/
100
);
_curColor
=
ColorUtil
.
ConvertHSLToColor
(
_curColor
.
Value
,
sl
:
sValue
/
100
);
//_curColor = ColorUtil.ConvertHSLToColor(_curColor.Value, sValue: sValue / 100);
return
_curColor
;
return
_curColor
;
}
}
}
}
public
class
LToColorConverter
:
IValueConverter
public
class
LToColorConverter
:
IValueConverter
{
{
private
Color
?
_curColor
=
null
;
private
Color
?
_curColor
;
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
Convert
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
{
_curColor
=
(
Color
)
value
;
_curColor
=
(
Color
)
value
;
return
$"
{
ColorUtil
.
ColorFromL
(
_curColor
.
Value
)}
%"
;
//return $"{ColorUtil.ColorFromL(_curColor.Value)}%";
return
$"
{
Math
.
Round
(
ColorUtil
.
RgbToHSL
(
_curColor
.
Value
).
L
*
100
)}
%"
;
}
}
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
public
object
ConvertBack
(
object
value
,
Type
targetType
,
object
parameter
,
CultureInfo
culture
)
{
{
var
colorStr
=
(
string
)
value
;
var
colorStr
=
(
string
)
value
;
if
(!
string
.
IsNullOrWhiteSpace
(
colorStr
)
&&
double
.
TryParse
(
colorStr
,
out
double
lValue
))
if
(!
string
.
IsNullOrWhiteSpace
(
colorStr
)
&&
double
.
TryParse
(
colorStr
,
out
var
lValue
))
_curColor
=
ColorUtil
.
ConvertHSLToColor
(
_curColor
.
Value
,
lValue
:
lValue
/
100
);
_curColor
=
ColorUtil
.
ConvertHSLToColor
(
_curColor
.
Value
,
l
:
lValue
/
100
);
//_curColor = ColorUtil.ConvertHSLToColor(_curColor.Value, lValue: lValue / 100);
return
_curColor
;
return
_curColor
;
}
}
}
}
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录