吾爱分享资源网

 找回密码
 立即注册
快捷导航
搜索
查看: 17|回复: 0

易语言制作RGB_CMYK颜色值互换易语言源码下载

[复制链接]

1598

主题

1717

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
17845
金币
8056
发表于 3 天前 | 显示全部楼层 |阅读模式
请点击此处下载

查看状态:需购买或无权限

您的用户组是:游客

提取密码:5ifx88 
下载次数:0  文件大小:0 Bytes 
下载权限: 不限 以上或 VIP会员   [购买VIP]   [充值金币]  [免费赚金币]



部分代码如下
  
窗口程序集名保 留  保 留备 注
窗口程序集1   
子程序名返回值类型公开备 注
_按钮1RGB_被单击  
变量名类 型静态数组备 注
CMYK_局部CMYK  
RGB_局部RGB  
RGB_局部.R = 到数值 (编辑框1.内容)
RGB_局部.G = 到数值 (编辑框2.内容)
RGB_局部.B = 到数值 (编辑框3.内容)
CMYK_局部 = RGB转CMYK (RGB_局部)
' 标题 = “C:” + 到文本 (CMYK_局部.C) + “  M:” + 到文本 (CMYK_局部.M) + “  Y:” + 到文本 (CMYK_局部.Y) + “  K:” + 到文本 (CMYK_局部.K)
画板1_RGB.画板背景色 = 取颜色值 (RGB_局部.R, RGB_局部.G, RGB_局部.B)
画板1_RGB.置写出位置 (10, 10)
画板1_RGB.写文本行 (“C:”到文本 (CMYK_局部.C)“  M:”到文本 (CMYK_局部.M)“  Y:”到文本 (CMYK_局部.Y)“  K:”到文本 (CMYK_局部.K))
' 易语言学习资源、源码下载站:[url]www.5ifx88.com[/url]
子程序名返回值类型公开备 注
取最小值_整数型 
参数名类 型参考可空数组备 注
参数1整数型   
参数2整数型   
参数3整数型   
变量名类 型静态数组备 注
变量_局部整数型 3
变量_局部 [1] = 参数1
变量_局部 [2] = 参数2
变量_局部 [3] = 参数3
数组排序 (变量_局部, )
返回 (变量_局部 [1])
子程序名返回值类型公开备 注
_按钮2CMYK_被单击  
变量名类 型静态数组备 注
CMYK_局部CMYK  
RGB_局部RGB  
CMYK_局部.C = 到数值 (编辑框4.内容)
CMYK_局部.M = 到数值 (编辑框5.内容)
CMYK_局部.Y = 到数值 (编辑框6.内容)
CMYK_局部.K = 到数值 (编辑框7.内容)
RGB_局部 = CMYK转RGB (CMYK_局部)
画板2_CMYK.画板背景色 = 取颜色值 (RGB_局部.R, RGB_局部.G, RGB_局部.B)
' 标题 = “R:” + 到文本 (RGB_局部.R) + “  G:” + 到文本 (RGB_局部.G) + “  B:” + 到文本 (RGB_局部.B)
画板2_CMYK.置写出位置 (10, 10)
画板2_CMYK.写文本行 (“R:”到文本 (RGB_局部.R)“  G:”到文本 (RGB_局部.G)“  B:”到文本 (RGB_局部.B))
子程序名返回值类型公开备 注
CMYK转RGBRGB 
参数名类 型参考可空数组备 注
参数_CMYKCMYK   
变量名类 型静态数组备 注
C_参数双精度小数型  
M_参数双精度小数型  
Y_参数双精度小数型  
K_参数双精度小数型  
返回_RGBRGB  
' Public   Sub   SetCMYK(C   As   Integer,   M   As   Integer,   Y   As   Integer,   K   As   Integer)
' Dim   MyC   As   Single,   MyM   As   Single,   MyY   As   Single,   MyK   As   Single
' MyC   =   C   /   100:   MyM   =   M   /   100:   MyY   =   Y   /   100:   MyK   =   K   /   100
C_参数 = 参数_CMYK.C ÷ 100
M_参数 = 参数_CMYK.M ÷ 100
Y_参数 = 参数_CMYK.Y ÷ 100
K_参数 = 参数_CMYK.K ÷ 100
' R   =   (1   -   (MyC   *   (1   -   MyK)   +   MyK))   *   255
返回_RGB.R (1 (C_参数 (1 - K_参数) + K_参数)) × 255
' G   =   (1   -   (MyM   *   (1   -   MyK)   +   MyK))   *   255
返回_RGB.G (1 (M_参数 (1 - K_参数) + K_参数)) × 255
' B   =   (1   -   (MyY   *   (1   -   MyK)   +   MyK))   *   255
返回_RGB.B (1 (Y_参数 (1 - K_参数) + K_参数)) × 255
' End   Sub
返回 (返回_RGB)
子程序名返回值类型公开备 注
RGB转CMYKCMYK 
参数名类 型参考可空数组备 注
参数_RGBRGB   
变量名类 型静态数组备 注
R_参数   
G_参数   
B_参数   
返回_CMYKCMYK  
Div整数型  
返回_CMYK.K = 取最小值_ (255 - 参数_RGB.R, 255 - 参数_RGB.G, 255 - 参数_RGB.B) ÷ 2.55
Div = 100 - 返回_CMYK.K
如果真 (Div = 0)
Div = 1
' 易语言学习资源、源码下载站:[url]www.5ifx88.com[/url]
R_参数 = 参数_RGB.R ÷ 2.55
返回_CMYK.C (100 - R_参数 - 返回_CMYK.K) ÷ Div × 100
G_参数 = 参数_RGB.G ÷ 2.55
返回_CMYK.M (100 - G_参数 - 返回_CMYK.K) ÷ Div × 100
B_参数 = 参数_RGB.B ÷ 2.55
返回_CMYK.Y (100 - B_参数 - 返回_CMYK.K) ÷ Div × 100
返回 (返回_CMYK)
子程序名返回值类型公开备 注
子程序1  
' 这个算法有点问题:
' 较准确的公式为:
' (1)RGB   ->   CMYK
' K=Min(1-R,1-G,1-B)     //取最小值
' C=(1-R-K)/(1-K)
' M=(1-G-K)/(1-K)
' Y=(1-B-K)/(1-K)
' (2)CMYK->RGB
' R=(1-K)*(1-C)
' G=(1-K)*(1-M)
' B=(1-K)*(1-Y)
' 说明:
' (1)RGB,CMYK范围:0.0-1.0,不再此范围内时需转化。
' 如RGB范围:0-255,则除以255.0,
' 如:红Red   255,则R=255/255.0,如某色为Red   128,Green   100,Blue   50,则R=128/255.0,G=100/255.0,B=50/255.0
' CMYK范围:0-100,则除以100.0)
' (2)经过上面公式计算出来的结果仍与Photoshop有差异(事实上,不同版本的Photoshop的RGB与CMYK之间的转换也有差异),这是由于Photoshop是根据印刷环境(油墨、印刷纸张、印刷工厂的环境等)的不同而作了ICC文件修正的。
' 更多细节(参看:[url]http://www.neuro.sfc.keio.ac.jp/~aly/polygon/info/color-space-faq.html[/url]
' 这个网址我可是找了近20小时!
' 缘由:
' 我本想在C#环境下开发印刷格式的300DPI   CMYK   TIF图像转化为RGB   72DPI   的JPG格式图像,虽然找到了公式,但仍无法得到满意的答案(主要原因是:CMYK图像读入后转RGB时严重变色,主要是变暗)。
' 不知各位有否更好的解决方案?(强烈建议研究成果共享!)
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
图片框.图片 = #鼠标指针_03
子程序名返回值类型公开备 注
_图片框_鼠标左键被按下逻辑型 
参数名类 型参考可空数组备 注
横向位置整数型   
纵向位置整数型   
功能键状态整数型   
时钟1.时钟周期 = 300
图片框.图片 = { 0 }
图片框.鼠标指针 = #鼠标指针_01
处理事件 ()
捕获鼠标 (图片框.取窗口句柄 ())
子程序名返回值类型公开备 注
_图片框_鼠标左键被放开逻辑型 
参数名类 型参考可空数组备 注
横向位置整数型   
纵向位置整数型   
功能键状态整数型   
释放鼠标 ()
图片框.鼠标指针 = 到字节集 (14)
图片框.图片 = #鼠标指针_03
图片框.背景颜色 = #默认色
时钟1.时钟周期 = 0
子程序名返回值类型公开备 注
_时钟1_周期事件  
变量名类 型静态数组备 注
  
颜色值整数型  
RGB_局部RGB  
CMYK_局部CMYK  
取鼠标位置 ()
颜色值 = 取颜色 (取设备句柄 (0), 点.x, 点.y)
' 画板1_RGB.画板背景色 = 颜色值
' 图片框.背景颜色 = 颜色值
RGB_局部.R = 颜色值 % 65536 % 256
RGB_局部.G (颜色值 % 65536) \ 256
RGB_局部.B = 颜色值 \ 65536
编辑框1.内容 = 到文本 (RGB_局部.R)
编辑框2.内容 = 到文本 (RGB_局部.G)
编辑框3.内容 = 到文本 (RGB_局部.B)
CMYK_局部 = RGB转CMYK (RGB_局部)
编辑框4.内容 = 到文本 (CMYK_局部.C)
编辑框5.内容 = 到文本 (CMYK_局部.M)
编辑框6.内容 = 到文本 (CMYK_局部.Y)
编辑框7.内容 = 到文本 (CMYK_局部.K)
_按钮1RGB_被单击 ()
_按钮2CMYK_被单击 ()
处理事件 ()
' r = 取颜色值 (14, 207, 63) % 65536 % 256
' g = (取颜色值 (14, 207, 63) % 65536) \ 256
' b = 取颜色值 (14, 207, 63) \ 65536
' 易语言学习资源、源码下载站:[url]www.5ifx88.com[/url]
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
HLSHLS  
rgbRGB  
HLS.H = 到数值 (编辑框1.内容)
HLS.L = 到数值 (编辑框2.内容)
HLS.S = 到数值 (编辑框3.内容)
rgb = HLS转RGB (HLS)
标题 = “R:”到文本 (rgb.R)“ G:”到文本 (rgb.G)“ B:”到文本 (rgb.B)


i支持库列表   支持库注释   
eAPI应用接口支持库

效果图
QQ截图20201121203519.jpg




上一篇:易语言制作OPENGL中的Z轴应用源码下载
下一篇:易语言制作Vista皮肤源码下载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2020-11-24 05:31 , Processed in 0.537385 second(s), 44 queries .
Powered by Discuz! X3.2 © 2001-2017 Comsenz Inc.
快速回复 返回顶部 返回列表