应用黑白不透明度后生成颜色

2023-12-27

我什至不知道如何描述我想要什么,但就是这样。假设我有 3 个文本框,我在第一个文本框中输入一些颜色十六进制代码,我想在其顶部应用黑色图层,并将不透明度设置为 50%,并在第二个文本框中获取结果颜色。同样的事情,但第三个是白色的。

让我解释一下:考虑下面这张图:

在 Photoshop 中,我的基础图层颜色有点天蓝色。我在它上面创建了两层,一层是黑色,一层是白色,但两者的不透明度都是 50%。现在,我可以使用颜色选择器 (I) 来简单地选择两种想要的颜色。

我不得不如此频繁地执行此操作,所以我想知道是否可以以编程方式生成它。

我知道,理想情况下我应该尝试一些东西,然后给出不起作用的代码..但这已经让我很困惑,我什至不知道从哪里开始。我见过的最接近的是Kuler http://kuler.adobe.com/所以我认为至少在闪存中是可能的,但话又说回来,我不知道从哪里开始。

你们能指出我正确的方向吗?理想情况下,如果它可以在 jQuery 中实现,那就更好了,但我环顾四周,找不到类似的东西。我并不是在寻求可行的解决方案,只是朝着正确的方向轻推一下。

如果您有任何疑问,请询问。

Technology is not important to me, solution is - I am most comfortable with c# (at least I like to think I am) but I am a beginner in php, flash. Jquery, I am good at it with most stuff (well, who isn't?) - Whatever works is good to me. Php and Flash, I learnt it as a hobby just to familiarize myself.

非常感谢。


所以我可以得到接近的结果,但不完全是你的结果,我认为这是 .NET 使用范围内的数字的副作用1..255创建颜色时用于 alpha。

但尽管如此,我认为这几乎满足了你的要求:

public class ColorUtility
{
    private Color color;

    public ColorUtility(Color original)
    {
        this.color = original;
    }

    public Color GetTransformedColor(Color overlay)
    {
        using(var bitmap = new Bitmap(1,1))
        {
            var g = Graphics.FromImage(bitmap);
            using(Brush baseBrush = new SolidBrush(this.color))
            {
                g.FillRectangle(baseBrush,0,0,1,1);
            }

            using(Brush overlayBrush = new SolidBrush(Color.FromArgb(127,overlay)))
            {
                g.FillRectangle(overlayBrush,0,0,1,1);
            }
            return bitmap.GetPixel(0, 0);
        }
    }
}

usage:

 var startColor = ColorTranslator.FromHtml("#359eff");
 var util = new ColorUtility(startColor);
 var blackOverlay = util.GetTransformedColor(Color.Black); // yields #9aceff
 var whiteOverlay = util.GetTransformedColor(Color.White); // yields #1b4f80

接近您想要的结果,但不完全一样。

EDIT:如果将 alpha 值更改为128在你得到的效用中

黑色:#9acfff
白色:#1a4f7f

这可能更接近您想要的,但仍然不准确。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

应用黑白不透明度后生成颜色 的相关文章

  • 编译器在函数名称前添加下划线前缀的原因是什么?

    当我看到 C 应用程序的汇编代码时 如下所示 emacs hello c clang S O hello c o hello s cat hello s 函数名称以下划线作为前缀 例如callq printf 为什么这样做以及它有什么优点
  • 复杂的 C 声明

    我刚刚在互联网上浏览了一些代码 发现了这个 float foo SIZE SIZE 我如何阅读这份声明 是否有一套特定的规则来阅读如此复杂的声明 我有一段时间没做这个了 从 开始foo然后向右走 float foo SIZE SIZE fo
  • 带有 Unicode 字符的主机名在 Windows 8 中有效

    Uri CheckHostName 回报UriHostNameType Unknown到处都是 但在 Windows 8 上 它又回来了UriHostNameType Dns 为什么突然间带有 Unicode 西里尔字符的主机名在 Wind
  • 如何检查 URL 末尾是否有特定字符串

    我需要根据 URL 末尾的内容让覆盖层向下滑动 如果 URL 末尾有 faq 覆盖层下降 如何在 jQuery JavaScript 中做到这一点 如果您的网址看起来像这样http yourdomain com faq 你可以这样做 var
  • 动态多个延迟 jQuery Ajax 调用

    使用 jQuery 的延迟模式http api jquery com jQuery when http api jquery com jQuery when 我正在尝试进行多个 jsonp ajax 调用并等待结果 然后再进行下一步 我可以
  • Symfony2 - Doctrine - 更新后没有更改集

    因此 当实体的某个值发生更改时 我会发送电子邮件 我只想在更新后发送电子邮件 以防更新因任何原因失败 所以在更新前我可以这样做 public function preUpdate LifecycleEventArgs args if arg
  • 一些涉及类析构函数和删除运算符的内存管理问题?

    在阅读了一些教程后 我仍然不清楚 C 中内存管理的一些观点 1 当使用 new 运算符声明的类超出范围时 是否会调用其析构函数并释放内存 是否有必要调用删除运算符来释放类的内存并调用其析构函数 class Test void newTest
  • 如何最好地为 Visual Studio 2017 构建的 CMake C++ 项目设置输出目录?

    我使用 Visual Studio 2017 使用 vcxproj 文件构建 C 桌面项目 我喜欢默认行为 其中输出目录是项目下面的子目录 例如 myproj sln myproj vcxproj x64 myproj release my
  • 派生类的聚合初始化

    以下代码无法使用 Visual Studio2017 或在线 GDB 进行编译 我期望它能够编译 因为迭代器只是一个具有类型的类 并且它是从公共继承的 这是不允许的还是在 VS2017 中不起作用 template
  • 使用 jQuery 将值发送到 $_GET

    我正在使用一个 PHP 脚本 该脚本正在通过 GET 等待两个值 我正在尝试使用 jQuery 传递这两个值 而这正是我不太擅长的地方 这是我得到的代码 有人能指出我正确的方向吗 谢谢 function xrate id rating aj
  • 序列化时如何跳过 xml 声明?

    我正在尝试输出一个没有 xml 头的 xml 文件 例如 我试过 Type t obj GetType XmlSerializer xs new XmlSerializer t XmlWriter xw XmlWriter Create c
  • RabbitMQ + Windows + LDAP 无需发送密码

    我正在尝试在 Windows 7 上使用 RabbitMQ 3 6 2 进行 LDAP 身份验证 授权 我已经在应用程序发送用户名 密码的情况下进行了基本身份验证 但密码位于我需要弄清楚如何进行的代码中避免 有没有人在不提供密码的情况下成功
  • Azure Function App Azure 服务总线触发器触发两次

    我使用带有服务总线触发器的 Azure Function Apps 来读取服务总线并对服务总线消息的内容执行操作 服务总线接收 JSON 序列化对象 然后将 JSON 消息反序列化回 Function App 中的对象 然而 由于某种原因
  • MonoGame 中的 ContentLoadException

    我一直在尝试使用 Xamarin Studio 在 MonoGame 中加载纹理 我的代码设置如下 region Using Statements using System using Microsoft Xna Framework usi
  • jquery .slideToggle() 水平替代方案?

    SlideToggle 正是我想要的 只是我希望幻灯片是水平的 我现在有一个水平隐藏 显示和点击动画 但我想要切换选项 这样 当我单击活动链接时 它将播放反向动画并隐藏自身 最好的方法是什么 您可以使用animate方法 element a
  • 没有运算符“<<”与这些操作数匹配[重复]

    这个问题在这里已经有答案了 不知道发生了什么事 我查看了与此问题类似的其他帖子 但到目前为止没有解决方案有帮助 这是带有错误部分注释的代码 在某一时刻 它说 不起作用 而在代码的其余部分中 它说 include
  • 如何通过Task.ContinueWith创建传递?

    我想在原始任务结束时添加一个任务 但想保留原始结果和类型 附加任务仅用于记录目的 例如写入控制台等 例如 Task Run gt DateTime Now Hour gt 12 Hey throw new Exception Continu
  • Selenium WebDriver 在按钮单击事件上无法正常工作。这里有什么问题呢?

    I am using following code to scrape data from a website I have following interface 这是 HTML div class es content div
  • “保留供任何使用”是什么意思?

    注意 这是一个c questions tagged c问题 虽然我补充说c questions tagged c 2b 2b如果某些 C 专家可以提供 C 使用与 C 不同的措辞的基本原理或历史原因 在 C 标准库规范中 我们有这个规范文本
  • 寻求有关标记视频系统上的“相关视频”查询的建议

    好吧 我运行一个小型视频网站 在实际的视频页面上有一条与大多数视频页面 例如 YouTube 类似的 相关视频 目前我所做的就是随机获取其标签之一并查找其他视频相同的标签 毫不奇怪 这不是一个好方法 因为有些标签非常模糊 有些视频被错误标记

随机推荐

  • 如何使用Python OpenCV对苹果进行图像分割?

    我有浸泡在碘溶液中的苹果片的照片 目标是将苹果分割成各个感兴趣的区域并评估每个区域的淀粉水平 这是一个学校项目 所以我的目标是测试不同的分割方法 并客观地找到最佳解决方案 无论是单一技术还是多种技术的组合 问题是到目前为止我只接近一种方法
  • 加载带有西里尔字母符号的 url

    我必须加载一些带有西里尔字母符号的网址 我的脚本应该适用于此 http wincode org D0 BF D1 80 D0 BE D0 B3 D1 80 D0 B0 D0 BC D0 BC D0 B8 D1 80 D0 BE D0 B2
  • 解析带有冒号的字符串并将两边设置为不同的变量,C++

    因此 我试图编写一个简单的程序 该程序接受用户输入的时间 并计算模拟时钟指针之间和周围的角度 我已经运行了该程序 但没有解析和 2 个单独的输入 但我想解析冒号处的时间 例如 12 35 并将左侧设置为小时变量 将右侧设置为分钟变量 但是
  • 为什么 Win8 上 CRITICAL_SECTION 性能变得更差

    Windows 8 及更高版本上的 CRITICAL SECTION 性能似乎变得更差 见下图 测试非常简单 一些并发线程每个执行 300 万次锁定以独占方式访问变量 您可以在问题底部找到 C 程序 我在 Windows Vista Win
  • 文件系统除了文件和目录之外还有其他组件吗?

    我在视频教程中看到了这个 python 片段 它检查列出的项目是目录还是文件 for item in os listdir if os path isfile item do something elif os path isdir ite
  • Python - 使用子进程调用sed?

    我想打电话sed从 python 使用子进程 我尝试使用的脚本如下 但是 这会将 sed 输出传送到标准终端 看来我的 subprocess call 语句中无法识别 gt 运算符 有什么建议么 import sys import os i
  • NSRangeException:调用堆栈未显示行号

    我收到以下索引越界错误 Terminating app due to uncaught exception NSRangeException reason NSArrayM objectAtIndex index 0 beyond boun
  • 在 C# 中如何检查字符串变量是否为空或 null? [复制]

    这个问题在这里已经有答案了 如何检查 C 变量是否为空字符串 或空 我正在寻找最简单的方法来进行此检查 我有一个变量可以等于 或为空 是否有一个函数可以检查是否不存在 或空 if string IsNullOrEmpty myString
  • 如何在 Windows 7 上安装支持 Python 的 GDB

    我需要调试 cython 代码 官方文档说 我需要安装 gdb 7 2 或更高版本 使用 Python 支持构建 不幸的是 我没有找到任何如何在 Windows 7 上安装它的分步指南 我是否必须自己构建它 如何构建 或者已经存在适用于 W
  • Windows Installer 和 WiX 的创建

    我们目前使用 WiX 来构建 MSI 文件 因此它是我有过使用经验的唯一 MSI 构建器 我知道您可以在 Visual Studio 中本地构建安装程序 使用 WiX 和 Windows Installer 有什么区别 各自的优缺点是什么
  • Keycloak:验证访问令牌并获取 keycloak ID

    我需要能够执行以下操作 使用纯 cURL 和 JSON 服务器端 无框架或 Java 使用第 3 方提供的 Keycloak 访问令牌的字符串表示形式来验证令牌是否有效 如果令牌有效 则获取该用户的 Keycloak ID 如何使用普通的旧
  • 在viewpager中可以实现这种效果吗?

    我在用ViewPager in Activity 我需要在页面翻转之间产生这种效果 除了在 Android 的主屏幕之间切换之外 我从未见过这样的效果 如果您使用过这个动画或者您听说过动画的名字 请帮助我 我对这部动画没有任何想法 这种效应
  • 如何调试 linq to sql InsertOnSubmit 语句?

    以下代码可以正常工作 db DBUsers InsertOnSubmit new DBUser AllTheStuff valuesBeyondYourWildestDreams db SubmitChanges 我的猜测是数据库发生了一些
  • Ruby:过滤哈希键的最简单方法?

    我有一个看起来像这样的哈希 params irrelevant gt A String choice1 gt Oh look another one choice2 gt Even more strings choice3 gt But w
  • 使用curl获取标头

    为什么这不起作用 curl X HEAD http www google com 但这些都工作得很好 curl I http www google com curl X GET http www google com 您需要将 i 标志添加
  • Android,广播可分包数据

    我已经实现了一个扩展NotificationListenerService 的类 它可以很好地接收发布的通知 然后我想获取收到的 statusBarNotification 对象并广播它 我会做以下事情 Override public vo
  • 在终端中运行 Swift 构建会导致“平台路径”错误

    我最近重新格式化了我的 Mac 今天我尝试通过终端构建一个 swift 可执行文件来启动服务器端 swift 项目 以下是我使用过的命令 swift package init type 可执行文件 快速构建 运行时swift build 我
  • 如何限制 matplotlib 图形的边框大小?

    我正在制作一些相当大的图表 边框中的空白占用了很多像素 这些像素可以更好地被数据使用 看起来边界随着图形的增长而增长 以下是我的图形代码的核心内容 import matplotlib from pylab import figure fig
  • 类型级编程中的协方差

    我正在尝试创建与 Scala 库中的元组等效的类型元组 仅使用 方法通过添加第 N 1 个值将元组扩展为元组 这样我就能够递归地构造元组 class Test abstract class Tuple protected type Next
  • 应用黑白不透明度后生成颜色

    我什至不知道如何描述我想要什么 但就是这样 假设我有 3 个文本框 我在第一个文本框中输入一些颜色十六进制代码 我想在其顶部应用黑色图层 并将不透明度设置为 50 并在第二个文本框中获取结果颜色 同样的事情 但第三个是白色的 让我解释一下