直接使用等比例抽样算法,连同透明度一起计算。

 public IList<Color> ShadeColors(Color c1, Color c2, int resultCount)
{
var result = new List<Color>();
for (int i = ; i < resultCount; i++)
{
var a = c1.A + (int)((c2.A - c1.A) * i / resultCount);
var r = c1.R + (int)((c2.R - c1.R) * i / resultCount);
var g = c1.G + (int)((c2.G - c1.G) * i / resultCount);
var b = c1.B + (int)((c2.B - c1.B) * i / resultCount);
var c = Color.FromArgb(a, r, g, b);
result.Add(c);
}
return result;
}

输出图片

如果要输出图片可能需要安装libgdiplus,如果缺少依赖的话, 详见CoreCompat/CoreCompat。在Ubuntu执行命令:

RUN apt-get update \
&& apt-get install -y --allow-unauthenticated \
libc6-dev \
libgdiplus \
libx11-dev \
&& rm -rf /var/lib/apt/lists/*

输出图片的代码:

 static void Main(string[] args)
{
int size = ;
int h = ;
var bmp = new Bitmap(size, h, PixelFormat.Format32bppArgb);
Color c1 = Color.FromArgb(0xff, Color.Green);
Color c2 = Color.FromArgb(0x4e, Color.Yellow);
var cs = ShadeColors(c1, c2, size);
for (int i = ; i < size; i++)
{
for (int j = ; j < h; j++)
{
bmp.SetPixel(i, j, cs[i]);
}
}
bmp.Save("shade.png", ImageFormat.Png);
Console.WriteLine("Hello World!");
// Console.ReadLine();
}

最终输出的图片

在 dotnet core (C#)下的颜色渐变的更多相关文章

  1. dotnet core开源博客系统XBlog介绍

    XBlog是dotnet core平台下的个人博客开源系统,它只需要通过Copy的方式即可以部署到Linux和windows系统中:如果你有安全证书那只需要简单配置一下即可提供安全的Https服务.接 ...

  2. ubuntu15.10 或者 16.04 或者 ElementryOS 下使用 Dotnet Core

    这里我们不讲安装,缺少libicu52自行安装. 安装完成后使用dotnet restore或者build都会失败,一是报编译的dll不适合当前系统,二是编译到ubuntu16.04文件夹下会产生一些 ...

  3. 边缘化搭建 DotNet Core 2.1 自动化构建和部署环境(下)

    写在前面 本篇文章是上一篇边缘化搭建 DotNet Core 2.1 自动化发布和部署(上)的后续操作,本文主要讲解如何开启Docker Remote API,开启Remote API后的权限安全问题 ...

  4. jQuery 小特效【文本框折叠隐藏,展开显示】【下拉菜单】【颜色渐变】【弹窗+遮罩】

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs& ...

  5. 支付宝AopSdk在dotnet core下的实现

    随着项目都迁移到了dotnet core下,阿里的支付宝也需要随着项目迁移.之前在.Net Framework下用到了阿里提供的AopSdk和F2FPay两个程序集,支付宝官方提供的只支持Framew ...

  6. .Net Core IIS下无Log4Net日志输出,命令行下却有(dotnet运行)

    .Net Core IIS下无Log4Net日志输出,命令行下却有(dotnet运行) 遇到个诡异的问题,项目发布并寄宿到 IIS上后,Log4Net没有日志输出 1.原因分析 这不应该啊,所有的配置 ...

  7. 【Step By Step】将Dotnet Core部署到Docker下

    一.使用.Net Core构建WebAPI并访问Docker中的Mysql数据库 这个的过程大概与我之前的文章<尝试.Net Core—使用.Net Core + Entity FrameWor ...

  8. 解决 dotnet core 1.x 命令行(cli) 下运行路径错误

    环境: Windows 10,Visual Studio 2017 centos 7,nginx,supervisor,dotnet core 1.1 问题: 在 Linux 配置 superviso ...

  9. Linux CentOS 7 下dotnet core webpai + nginx 部署

    参考:https://www.jianshu.com/p/b1f573ca50c7 跟着做到,配置nginx访问dotnet core网站时,报错了. 错误如下所示—— 查看nginx的错误日志: c ...

随机推荐

  1. oracle 向数据库同时插入多条数据

    oracle 与 mysql 不同. mysql 可以直接插入多条数据的操作:  采用 INSERT INTO 某表 VALUES(各个值),VALUES(各个值),.....; 或者 INSERT ...

  2. 【数据库】Navicat Premium12远程连接MySQL数据库

    目录 00. 目录 01. 环境介绍 02. Navicat安装 03. MySQL开启远程登录权限 04. Navicat连接MySQL 00. 目录 @ 参考博客:https://blog.csd ...

  3. .netcore Control调用View方法

    控制器代码如下: 视图代码如下: 完整项目代码参考网址:https://github.com/gamecc666/BackTipFrontProject 版权声明:本文为博主原创文章,如需转载,请标明 ...

  4. leadcode的Hot100系列--17. 电话号码的字母组合--回溯的另一种想法的应用

    提交leetcode的时候遇到了问题,一直说访问越界,但仔仔细细检查n多遍,就是检查不出来. 因为我用到了count全局变量,自加一来表明当前数组访问的位置, 后来突然想到,是不是在leetcode在 ...

  5. leetcode 136 Single Number bBt Option

    Linked Url:https://leetcode.com/problems/single-number/ Given a non-empty array of integers, every e ...

  6. Android 开发你需要了解的那些事

    本文微信公众号「AndroidTraveler」首发. 背景 最近部门有新入职员工,作为规划技术路线的导师,这边给新员工安排了学习路线. 除了基本的学习路线之外,每次沟通,我都留了一个小问题,让小伙伴 ...

  7. ASP.NET Core Web Api之JWT(一)

    前言 最近沉寂了一段,主要是上半年相当于休息和调整了一段时间,接下来我将开始陆续学习一些新的技术,比如Docker.Jenkins等,都会以生活实例从零开始讲解起,到时一并和大家分享和交流.接下来几节 ...

  8. Creating a Manager for Multiple Threads_翻译

    The previous lesson showed how to define a task that executes on a separate thread. If you only want ...

  9. 20131227-backgroundPosition

    background-position 用法详细介绍 语法: background-position : length || length background-position : position ...

  10. opatch卸载weblogic12.1.3.0补丁

    1.首先进入opatch目录 2.查看opatch命令(心急于卸载的朋友直接跳过这步) [weblogic@localhost OPatch]$ ./opatch -help Oracle 中间补丁程 ...