精华内容
下载资源
问答
  • 如题,高手请给点提示
  • 折线图中如何填充渐变颜色

    千次阅读 2016-08-03 17:01:44
    此方法实在矩形中填充渐变颜色,再将不需要保留的渐变色用背景颜色覆盖。作为记录留存。 #import "DrawCell.h" #define VIEW_WIDTH self.frame.size.width #define VIEW_HEIGHT self....


    此方法实在矩形中填充渐变颜色,再将不需要保留的渐变色用背景颜色覆盖。作为记录留存。



    #import "DrawCell.h"


    #define VIEW_WIDTH self.frame.size.width

    #define VIEW_HEIGHT self.frame.size.height

    #define CELL_WIDTH (self.frame.size.width-60)/11.0


    #define UIColorFromHex(s) [UIColor colorWithRed:(((s & 0xFF0000) >> 16))/255.0 green:(((s &0xFF00) >>8))/255.0 blue:((s &0xFF))/255.0 alpha:1.0]



    @implementation DrawCell


    -(instancetype)initWithFrame:(CGRect)frame

    {

        self = [super initWithFrame:frame];

        if (self) {

            ;

        }

        return self;


    }

    -(void)addBottomLine{


        CGContextRef context = UIGraphicsGetCurrentContext();

        CGContextSetLineWidth(context, 1);

        UIColor *lineColor = UIColorFromHex(0xa0a0a0);

        CGContextSetStrokeColorWithColor(context, lineColor.CGColor);

        CGContextMoveToPoint(context, 0, VIEW_HEIGHT-20);

        CGContextAddLineToPoint(context, VIEW_WIDTH, VIEW_HEIGHT-20);

        CGContextStrokePath(context);

    }

    -(void)addBottomCoordinate{


        UIColor *lineColor = UIColorFromHex(0xa0a0a0);

        for (NSInteger i = 0; i < 12; i++) {

            CGFloat height = 6;

            if (i==0||i==11) {

                height = VIEW_HEIGHT-20;

            }

            CGContextRef context = UIGraphicsGetCurrentContext();

            CGContextSetLineWidth(context, 0.5);

            CGContextSetStrokeColorWithColor(context, lineColor.CGColor);

            CGContextMoveToPoint(context, 30+i*CELL_WIDTH, VIEW_HEIGHT-20);

            CGContextAddLineToPoint(context, 30+i*CELL_WIDTH, VIEW_HEIGHT-20-height);

            CGContextStrokePath(context);

        }

    }

    -(void)addBottomCoordinateTextLabel{

        

        for (NSInteger i=0; i<12; i++) {

            

            UILabel *label = [[UILabel alloc] init];

            label.textAlignment = NSTextAlignmentCenter;

            label.frame = CGRectMake(30+i*CELL_WIDTH-CELL_WIDTH/2, VIEW_HEIGHT-19, CELL_WIDTH, 19);

            [self addSubview:label];

            label.adjustsFontSizeToFitWidth = YES;

            label.minimumScaleFactor = 0.1;

            switch (i) {

                case 0:

                {

                    label.text = @"Jan";

                }

                    break;

                case 1:

                {

                    label.text = @"Jan";

                }

                    break;

                case 2:

                {

                    label.text = @"Jan";

                }

                    break;

                case 3:

                {

                    label.text = @"Jan";

                }

                    break;

                case 4:

                {

                    label.text = @"Jan";

                }

                    break;

                case 5:

                {

                    label.text = @"Jan";

                }

                    break;

                case 6:

                {

                    label.text = @"Jan";

                }

                    break;

                case 7:

                {

                    label.text = @"Jan";

                }

                    break;

                case 8:

                {

                    label.text = @"Jan";

                }

                    break;

                case 9:

                {

                    label.text = @"Jan";

                }

                    break;

                case 10:

                {

                    label.text = @"Jan";

                }

                    break;

                case 11:

                {

                    label.text = @"Jan";

                }

                    break;

                default:

                    break;

            }

        }



    }

    -(NSMutableArray*)dataArray{


        if (_dataArray==nil) {

            _dataArray = [[NSMutableArray alloc] init];

            

            for (NSInteger i=0 ;i<13 ;i++) {

                

                CGFloat number = (float)(1+arc4random()%99)/100;

                NSLog(@"number is %f",number);

                [_dataArray addObject:[NSNumber numberWithFloat:number]];

            }

        }


        return _dataArray;

    }


    -(void)addDataArrayLine{

        

        CGContextRef context = UIGraphicsGetCurrentContext();


    //方法1

    //    CGFloat locations[2] = {0.0, 1.0};

    //    CGFloat components[8] = {104.0/255.0, 225.0/255.0, 250.0/255.0, 1.0, 115.0/255.0, 134.0/255.0, 197.0/255.0, 1.0}; // yellow->red

    //    

    //    CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();

    //    CGGradientRef gradient = CGGradientCreateWithColorComponents(colorspace, components, locations, 2);

    //    

    //    CGPoint startPoint = CGPointMake(VIEW_WIDTH/2, 0);

    //    CGPoint endPoint = CGPointMake(VIEW_WIDTH/2, VIEW_HEIGHT-20);

    //    CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0);

    //    

    //    CGGradientRelease(gradient);

    //    CGColorSpaceRelease(colorspace);

    //    CGContextSaveGState(context);

     

    //方法2

        //    UIGraphicsPushContext(context);

        

        CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();

        CGFloat locations[] = {0, 1};

    //    UIColor *color1 = UIColorFromHex(0x7386c5);

    //    UIColor *color0 = UIColorFromHex(0x68e1fa);

        UIColor *color0 = [UIColor colorWithRed:104.0/255.0 green:225.0/255.0 blue:250.0/255.0 alpha:0.75];

        UIColor *color1 = [UIColor colorWithRed:115.0/255.0 green:134.0/255.0 blue:197.0/255.0 alpha:0.75];

        NSArray *colors = @[(__bridge id)color0.CGColor, (__bridge id)color1.CGColor];

        CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (CFArrayRef) colors, locations);

        CGColorSpaceRelease(colorSpace);

        

        CGPoint startPoint = CGPointMake(VIEW_WIDTH/2, 0);

        CGPoint endPoint = CGPointMake(VIEW_WIDTH/2, VIEW_HEIGHT-20);

        CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0);

        CGGradientRelease(gradient);

        

    //    UIGraphicsPopContext();

        

    //方法3

    //    CIFilter *ciFilter = [CIFilter filterWithName:@"CILinearGradient"];

    //    CGRect rect = CGRectMake(0, 0, VIEW_WIDTH, VIEW_HEIGHT-20);

    //    UIColor *color0 = UIColorFromHex(0x7386c5);

    //    UIColor *color1 = UIColorFromHex(0x68e1fa);

    //    CGPoint startPoint = CGPointMake(0.5, 0);

    //    CGPoint endPoint = CGPointMake(0.5, 1);

    //    CIVector *vector0 = [CIVector vectorWithX:rect.size.width * startPoint.x Y:rect.size.height * (1 - startPoint.y)];

    //    CIVector *vector1 = [CIVector vectorWithX:rect.size.width * endPoint.x Y:rect.size.height * (1 - endPoint.y)];

    //    [ciFilter setValue:vector0 forKey:@"inputPoint0"];

    //    [ciFilter setValue:vector1 forKey:@"inputPoint1"];

    //    [ciFilter setValue:[CIColor colorWithCGColor:color1.CGColor] forKey:@"inputColor0"];

    //    [ciFilter setValue:[CIColor colorWithCGColor:color0.CGColor] forKey:@"inputColor1"];

    //    

    //    CIImage *ciImage = ciFilter.outputImage;

    //    

    //    CIContext* con = [CIContext contextWithOptions:nil];

    //    CGImageRef resultCGImage = [con createCGImage:ciImage

    //                                         fromRect:rect];

    //    UIImage *resultUIImage = [UIImage imageWithCGImage:resultCGImage];

    //    CGImageRelease(resultCGImage);

    //    [resultUIImage drawInRect:rect];

        

        

        //绘制折线图,并且其余不需要显示的部分,用白色覆盖。

        CGContextSetLineWidth(context, 1);

    //    UIColor *lineColor = UIColorFromHex(0x68e1fa);

        CGContextSetStrokeColorWithColor(context, [UIColor whiteColor].CGColor);

        CGContextSetRGBFillColor (context, 1.0, 1.0, 1.0, 1.0);

        CGFloat fload = [[self.dataArray firstObject] floatValue];

        CGContextMoveToPoint(context, 0, (VIEW_HEIGHT-20)*(1.0-fload));

        for (NSInteger i =1; i<self.dataArray.count; i++) {

            CGFloat height = [[self.dataArray objectAtIndex:i] floatValue];

            CGContextAddLineToPoint(context,30+CELL_WIDTH*(i-1), (VIEW_HEIGHT-20)*(1.0-height));

        }

        

        CGContextAddLineToPoint(context,30+CELL_WIDTH*(self.dataArray.count-2), VIEW_HEIGHT-20);

        CGContextAddLineToPoint(context,VIEW_WIDTH, VIEW_HEIGHT-20);

        CGContextAddLineToPoint(context,VIEW_WIDTH, 0);

        CGContextAddLineToPoint(context,0, 0);

        CGContextAddLineToPoint(context,0, (VIEW_HEIGHT-20)*(1.0-fload));

        

        CGContextClosePath(context);

        CGContextDrawPath(context, kCGPathFillStroke);

        CGContextStrokePath(context);


        

    //    CGContextRestoreGState(context);

        

    }

    -(void)addUnitTextPart{


        CGContextRef context = UIGraphicsGetCurrentContext();

        CGContextSetRGBFillColor (context,  1, 0, 0, 1.0);//设置填充颜色

        UIFont  *font = [UIFont boldSystemFontOfSize:15.0];//设置

        [@"kWh" drawInRect:CGRectMake(0, 0, 40, 20) withAttributes:@{NSFontAttributeName:font}];

        [@"kWh" drawInRect:CGRectMake(VIEW_WIDTH-40, 0, 40, 20) withAttributes:@{NSFontAttributeName:font}];

    }




    // Only override drawRect: if you perform custom drawing.

    // An empty implementation adversely affects performance during animation.

    - (void)drawRect:(CGRect)rect {

        // Drawing code

        NSLog(@"draw view");

        //底部label的添加

        [self addBottomCoordinateTextLabel];

        //顶部画图

        [self addDataArrayLine];

        

        //底部灰色的线

        [self addBottomLine];

        

        //底部坐标的绘制

        [self addBottomCoordinate];

        

        //添加kwh的文字处理

        [self addUnitTextPart];

        

    }



    -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{


    }

    -(void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{


    }

    -(void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{


    }


    展开全文
  • C#源代码:绘制窗口或控件的渐变背景色。 1、直接采用System.Drawing.Drawing2D.LinearGradientBrush笔刷填充渐变背景。 2、调整窗口大小时刷新背景填充。
  • 背景渐变如何设置透明度 项目最近这几天正在做不同主题的颜色配置...我上网查了些资料,现在也有js支持根据你输入的网页内容自动填充渐变色,但是对于我这种js不是很好的人来说,还是想从css3上找点方法出来。 ...

    背景渐变如何设置透明度

     

    项目最近这几天正在做不同主题的颜色配置方案,要根据用户输入的颜色来配置整个主题的颜色,让人头疼的是,其中一个主题所有的列表头部背景色都是2到3组渐变值的线性渐变,也就是说,要根据用户输入的颜色值生成不同的但相似度很近的渐变颜色。我上网查了些资料,现在也有js支持根据你输入的网页内容自动填充渐变色,但是对于我这种js不是很好的人来说,还是想从css3上找点方法出来。

    我发现css3的背景渐变中的透明度可以解决这个问题(前提是背景渐变的颜色是相近的)。

    我在这里简单说一下css3背景渐变中的线性渐变。线性渐变的一般结构是:

    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
    
    

     

    其中各个浏览器渲染不同,又分为:

    Webkit:

     

    background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
    • 渐变类型 - 在属性里-webkit-linear-gradient
    • 渐变从哪开始(top)
    • 颜色取值和在渐变中的位置 (rgba(0,0,0,0.1) 40%)

    下面的写法是用于safari旧版本的

    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0.1)), color-stop(40%, rgba(0, 0, 0, 0.1)), color-stop(98%, rgba(0, 0, 0, 0.2)),color-stop(100%, #FFFFFF));
    
    
    • 渐变类型 (linear)
    • 渐变开始的X Y 轴坐标(0 0 或者left-top)
    • 渐变结束的X Y 轴坐标(0 100% 或者left-bottom)
    • 颜色取值 (color-stop(40%, rgba(0,0,0,0.1)))

    Mozilla:

    background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
    
    

     

    Firefox渲染渐变的写法和Safari大致相同,不同的是需要将渐变属性改为-moz-linear-gradient

    Opera:

    background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
    
    

    按照上面的写法,让Opera浏览器渲染直接将属性改为-o-linear-gradient,是不是很简单?

    IE:

    IE比较顽固,不支持渐变,但是提供了渐变滤镜

    filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#22FFFFFF', EndColorStr='#33000000');
    
    

    说了这么多,大家对例子里rgba(0, 0, 0, 0.1) 中的0.1是不是很好奇?没错,解决这个头疼问题的关键就是它 - 渐变透明度。设置渐变透明度(值从0.1-0.9)可以使渐变颜色处在不同值的透明度下,也就是说通过透明度,背景可以呈现不同透明度下的背景颜色。

    下面图片是用上面代码生成的背景渐变:

    是不是看不出渐变透明(感觉灰灰的)?没错,因为颜色取值是从白到黑,那中间的过渡色自然就是灰色的了。但是如果你在加上一个背景颜色的话,那效果就出来了。

    比如我们加个background-color: #92D050:

     

    你只需要配置background-color, 就可以让背景呈现不同的渐变色。

    完整的代码:

    复制代码

     background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
     background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0.1)), color-stop(40%, rgba(0, 0, 0, 0.1)), color-stop(98%, rgba(0, 0, 0, 0.2)),color-stop(100%, #FFFFFF));
     background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
     background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
     filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#22FFFFFF', EndColorStr='#33000000');
     background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
         background-color: #669900;

    复制代码

    其中rgba()中的颜色(rgb)一般取白色(255,255,255)或者黑色(0,0,0), 而透明度的设置就看你自己想要什么样的渐变效果了。

     

    下面是几个不同渐变色的例子:

      

    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.9) 10%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);

     

    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.9) 2%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);

     

    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3) 2%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.2) 98%, rgba(255, 255, 255, 0.9) 99%);

     

    所以如果能很好的运用背景渐变的透明度,可以在很大程度上定义统一的背景渐变色,而用户只需要输入一个颜色域,就可以把主题配置成想要的渐变效果。不过遗憾的是,这种方法就现在而言,只能适用于背景渐变颜色相近的主题。多余一种颜色的背景渐变还是得用这种写法

    background: linear-gradient(to bottom, #396E8E 0%, #336888 29%, #225777 67%, #194E6E 100%);

     

     

     

     

     

     

     

     

    展开全文
  • 这一次,秋小叶将带领大家解锁渐变背景!一说到渐变背景,大家总会想到发布会现场的幻灯片演示。从苹果开始,似乎一夜之间各大科技厂商每逢发布新产品就必开发布会,而渐变色背景也逐渐成为了发布会 PPT 的标配。...
    99362e109c03e9c181f67417d17168e4.png

    这一次,秋小叶将带领大家解锁渐变背景!

    1f81e79a9775ae03529990d66125eda3.png

    一说到渐变背景,大家总会想到发布会现场的幻灯片演示。

    从苹果开始,似乎一夜之间各大科技厂商每逢发布新产品就必开发布会,而渐变色背景也逐渐成为了发布会 PPT 的标配。

    bb5f1c9b3081853a36afd3c6cb66ae11.png

    图片为模仿苹果发布会幻灯片

    想要调节出好看的渐变填充就需要用到以下功能菜单中的【渐变类型】、【渐变方向】、【渐变光圈】(也就是颜色)、【位置】、【透明度】以及【亮度】。

    f3ba116ef2e3883c708953b92a115627.png

    PPT默认的渐变效果

    软件中其实也给出了不少预设渐变,大家可以直接调用。

    7c7f1883fec26e748cde10e03794aa07.png

    不过鉴于这些都不怎么好看,劝大家还是不要选用。

    在详细介绍渐变背景的分类之前,我们非常有必要了解一下所谓的渐变到底是怎么变的,以下的讲解仅以线性渐变一种类型作为示例。

    线性渐变:沿着一根轴线(水平或垂直)改变颜色,从起点到终点颜色进行顺序渐变(从一边拉向另一边)。

    在PPT中的线性渐变,如果角度为 0°,则颜色渐变按照渐变光圈从左向右的顺序,对PPT背景进行从左向右的渐变填充。

    64877cf30796977a5e34950238e56ad0.png

    如果角度为90°,则按照渐变光圈从左向右的顺序,对PPT背景进行从上到下的渐变填充。

    3557928694996a287cbf228a9520af77.png

    其他角度依此类推。

    接下来进入正题,渐变背景大致可以分为两种:单色渐变和多色渐变。

    单色渐变

    所谓单色渐变其实就是在不同的渐变光圈上设置相同的颜色,然后按需调节各个渐变光圈颜色的透明度,以达到颜色深浅的变化。此种渐变背景常见于苹果等科技厂商的新品发布会。

    06cf6d67e40cc6644949d601a2e0dc09.png

    如何快速得到这种单色的渐变?其实很简单:

    ❶ 为背景的填充选项设置为渐变填充;

    ❷ 删除多于的渐变光圈,将仅剩的两个光圈分别置于首尾两端;

    ❸ 为两个光圈设置相同的颜色,调节其中一个渐变光圈的亮度或者透明度。

    991855021eff786834931ee9b0fc6bf3.gif

    换一个颜色进行同样的操作就可以得到不同的单色渐变。

    6adb11bbfd0497bf4baaa207ea6a2cb7.png
    ba154406166ca9abf6e0abc6b72abb1a.png

    多色渐变

    如果在发布会上完全使用相同的单色渐变,难免会显得单调,小米在 MIUI 7的发布会中就是用了颜色不同的渐变背景。

    84a779890727cb6e4528c1fe0d6db26a.png

    如何快速而得到这种两种颜色之间的渐变背景?直接单色渐变的基础上进行设置:

    ❶ 改变渐变的角度为 0°;

    ❷ 将左右两个渐变光圈的颜色改为红色【R:254 G:86 B:77】和金色【R:249 G:210 B:36】。

    如果觉得效果不如案例所示,我们可以左右拖动改变渐变光圈的位置,以谋求和示例相同的效效果

    ddcfbf9fb6e7aa28fb30ce2d01e0001a.gif

    在刚刚的页面上修改一下颜色,将红色改为玫红色【R:255 G:97 B:109】,金色改为浅橙色【R:255 G:193 B:113 】。

    63239866d535012d4d5b58791bb64c5e.png

    更改颜色和渐变角度,我们可以得到更多的漂亮的渐变。

    1994b0aabcbd4493347bf137b0848587.png
    01541b8a4855ae7c7899e262717a59be.png

    如果你实在不知道该怎么选择渐变光圈中的颜色,别着急,推荐给你们两个网站:

    第一个网站:uigradients.com

    ba5a3aa0e1f5432744e6cc6f5439791d.png

    UIgradients是一个以分享美丽渐变色彩为主的色彩方案分享站,里面接近上百种渐变配色方案供大家按需挑选。

    打开网站后,会随机推荐一款渐变配色方案,如果你觉得不好看你可以点击页面上的左右箭头,网站会再次随机推荐一款方案。

    344a098248cb45d9bd059aa71ebd982d.gif

    如果这些都不能满足你网站右上角的【Show all gradients】,就可以看到所有的的渐变色方案。

    c24d7074ea1d2511695cf2c29afa6950.png

    网页的顶部正中,会显示出所选渐变方案始末的两种颜色:

    74d938711537cc7c42318d72e5972d3a.png

    需要注意的是,这里使用的颜色参数是16进制的,而PPT中支持的颜色模式是RGB和HSL,那我们想要使用这上面的颜色岂不是还要使用专用的颜色转换工具?

    难道你忘了我们还有万能的 QQ 截图么,只要你的电脑登录了 QQ ,按【Ctrl+Alt+A】就可以开启 QQ 截图,把鼠标移动到相应的颜色色块上就可以在鼠标旁看到对应的颜色 RGB 值,这个时候记下 RGB 数值,再到 PPT 中修改就可以了。

    0556ab60c657fe62a5072be974787ed0.gif

    如果你使用的 Office 是 Office 2013 版或 2016 版,那么你就可以直接将色块截图复制粘贴进 PPT 中使用 PPT 自带的取色器进行颜色的吸取。

    7233e3fa9510acd2aef5b747aedd7ec5.png

    如果你觉得还是很麻烦,那么可以直接点击网页右上角的下载按钮,直接下载网页当前显示的渐变色背景的jpg图片,然后在PPT中设置幻灯片背景填充为【图片或纹理填充】就可以了。

    第二个网站:webgradients.com

    28856f400024a6a835dd4a69940c1df7.png

    比起 UIgradients 的简单粗暴,我更喜欢 Webgradients 的清新优雅,白色的背景衬托出各种渐变色的优美,整个网页清新自然,让人有一种视觉上的享受。Webgradients收录了 180 中免费的线性渐变色方案供大家选择。

    和 UIgradients 一样,我们只需要点击对应的渐变方案,就可以直接在网页上预览。

    376341dcc5db4ed3b4a9a220a003fe11.gif

    不同于 UIgradients 的是,Webgradients 的每一个方案的颜色直接在渐变方案的左下角用 16 进制颜色代码显示出来了。

    2829e7e0f71dc68485c23d8eb23ab5a7.png

    这一次真的要使用专门的 16 进制颜色转 RGB 或者 HSL 的工具啦,这里推荐一个在线转换网站:www.sioe.cn

    1c86de6c3e80b924e7dbe7e5d6ed18bb.png

    没有复杂的界面,直接输入对应的颜色值,点击转换,轻松搞定两种颜色模式下数值的换算。

    聪明的你一定注意到了,每个配色方案的右上角有一个下载按钮

    f6f72392fe5ce13bee903009dccab994.png

    点击就可以下载对应的配色方案背景图,又可以偷懒直接将这张渐变图片设置为幻灯片背景咯!

    哈哈哈哈,以后再也不用担心找不到好看的渐变色了~

    点击下面的专栏卡片,小白也能轻松学会的课程在等你哦~

    展开全文
  • 渐变填充背景(三) 下面看两个示例,演示了如何使用GradientFill()其实很简单,参数一为每个顶点的位置、色彩定义,参数二为要使用的顶点数目,第三个参数为这些顶点如何绘制,第四个参数为绘制的...

    下面看两个示例,演示了如何使用GradientFill()
    其实很简单,参数一为每个顶点的位置、色彩定义,参数二为要使用的顶点数目,第三个参数为这些顶点如何绘制,第四个参数为绘制的次数,第五个参数为绘制模式
    如:vert,4,&gTRi,3,GRADIENT_FILL_TRIANGLE
    (1)绘制模式为:三角形GRADIENT_FILL_TRIANGLE
    (2)绘制的顶点数为4,就是说有4个顶点,这4个顶点的位置、色彩定义见第一个示例
    (3)然后就是绘制的次数为3次,分别为gTRi[0]、gTRi[1]、gTRi[2],
    而每一次给出三个顶点,绘制成三角形。三个顶点的顺序似乎不重要。

    第一个:
      CDCHandle dc(hDC);
      TRIVERTEX        vert [4] ;
      GRADIENT_TRIANGLE    gTRi[4];
      vert [0] .x       =  0;
      vert [0] .y       =  0;
      vert [0] .Red     =  0x0000;
      vert [0] .Green   =  0x0000;
      vert [0] .Blue    =  0x0000;
      vert [0] .Alpha   =  0x0000;

      vert [1] .x       =  350;
      vert [1] .y       =  0;
      vert [1] .Red     =  0x0000;
      vert [1] .Green   =  0x0000;
      vert [1] .Blue    =  0xff00;
      vert [1] .Alpha   =  0x0000;

      vert [2] .x       =  350;
      vert [2] .y       =  350;
      vert [2] .Red     =  0x0000;
      vert [2] .Green   =  0x0000;
      vert [2] .Blue    =  0xff00;
      vert [2] .Alpha   =  0x0000;

      vert [3] .x       =  0;
      vert [3] .y       =  350;
      vert [3] .Red     =  0xff00;
      vert [3] .Green   =  0xff00;
      vert [3] .Blue    =  0xff00;
      vert [3] .Alpha   =  0x0000;

      gTRi[0].Vertex1   = 1;
      gTRi[0].Vertex2   = 3;
      gTRi[0].Vertex3   = 0;

      gTRi[1].Vertex1   = 0;
      gTRi[1].Vertex2   = 2;
      gTRi[1].Vertex3   = 3;

      gTRi[2].Vertex1   = 1;
      gTRi[2].Vertex2   = 3;
      gTRi[2].Vertex3   = 2;

      gTRi[3].Vertex1   = 0;
      gTRi[3].Vertex2   = 2;
      gTRi[3].Vertex3   = 1;
      dc.GradientFill(vert,4,&gTRi,4,GRADIENT_FILL_TRIANGLE);

    第二个:

        if ( IsVertical() )
            {
            TRIVERTEX tv[] = { { rect.left, rect.top, 0xff00 },
                               { rect.left + m_cxyHeader, rect.bottom, 0, 0xff00 } };
            GRADIENT_RECT gr = { 0, 1 };

            dc.GradientFill ( tv, 2, &gr, 1, GRADIENT_FILL_RECT_V );
            }
        else
            {
            TRIVERTEX tv[] = { { rect.left, rect.top, 0xff00 },
                               { rect.right, rect.top + m_cxyHeader, 0, 0xff00 } };
            GRADIENT_RECT gr = { 0, 1 };

            dc.GradientFill ( tv, 2, &gr, 1, GRADIENT_FILL_RECT_H );

            rect.bottom = rect.top + m_cxyHeader;

            // draw title only for horizontal pane container
            dc.SaveDC();

            dc.SetTextColor ( RGB(255,255,255) );
            dc.SetBkMode ( TRANSPARENT );
            dc.SelectFont ( GetTitleFont() );

            rect.left += m_cxyTextOffset;
            rect.right -= m_cxyTextOffset;

            if ( m_tb.m_hWnd != NULL )
                rect.right -= m_cxToolBar;

            dc.DrawText ( m_szTitle, -1, &rect,
                          DT_LEFT | DT_SINGLELINE | DT_VCENTER | DT_END_ELLIPSIS );

            dc.RestoreDC(-1);
            }

    posted on 2004-09-22 19:16 浙林龙哥 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/huqingyu/archive/2004/09/22/45639.html

    展开全文
  • C# WinForm 如何设置窗体背景渐变

    千次阅读 2013-11-06 23:04:41
    【1】添加引用: using System.Drawing.Drawing2D;...【2】添加窗体的Paint事件,用颜色填充窗体区域:  private void Form2_Paint(object sender, PaintEventArgs e)  {  Graphics g = e.Graphics;  Color
  • 图1:新建文档填充背景色打开CDR矢量绘图软件,“Ctrl+N”新建横向的文档,选择填充工具,填充一个黄色的渐变底,作为背景图。选中背景,点击菜单栏中的“对象”→“锁定”这样就不会使画布随便移动了。图2:使用...
  • 有两种情况,第一种就是普通文本渐变,普通文本渐变主要是针对背景色和文字的渐变,那么背景色的渐变,我们可以直接在添加文字后,打开其“图形属性-基本”窗口:在填充项目中选择渐变类型,然后在后面输入背景色和...
  • AI更改背景颜色的教程:一、创建背景层1、制作一个与画板一样大小的矩形。永久更改背景颜色的唯一方法是创建单独的背景层。如果仅更改背景颜色,则在打印图稿时该颜色将消失。要创建背景层:在左侧工具栏中选择...
  • 教学目标 通过本课学习掌握如何利用渐变工具来表现物体的立体感以及通过渐 变工具来作绚丽的背景 学习重难点 重点 : 1 渐变工具的五种类型 2 使用油漆桶准确替换颜色 难点 : 渐变的自定义方法 第 1 页 / 共 13 页 ...
  • .NET Framework 开发人员指南如何:显示渐变填充 ...下面的代码示例演示如何在自定义控件中作为窗体背景显示渐变填充。 过程显示渐变填充 在 Microsoft Visual Studio 2005 中,创建一个智能设备 Pocket PC 项目。
  • 关闭描边,填充径向黑白渐变,如图所示:执行对象—扩展,勾选上“渐变网格”:打开图层面板,将其中的路径图层删除:选中对象,右键选择取消编组:选中矩形工具,创建一个矩形,将渐变设置为线性渐变渐变配...
  • 默认情况下,创建图表时,Excel会自动设置其坐标轴属性。这些属性包括坐标轴选项,...本文将介绍如何使用Spire.XLS来设置Excel图表中的图例背景填充,包括: 单色填充 渐变填充 纹理填充 加载图片填充 ...
  • 以下以Group为例子讲述如何在Flex 4中填充背景颜色、图片: 1、图片填充方式: 2、渐变填充方式:
  • 透明层对于将渐变填充应用于笔划最有效。如果要加载图像文件而不是新文档,请选择“打开”,找到要使用的图像,然后双击它。2、更改文档颜色(如果需要)。默认文档颜色为白色,但是如果您要使用其他背景颜色,请...
  • FLEX4 填充方式

    2012-12-26 16:28:33
    转自:http://blog.csdn.net/sws9999/article/details/6262954 以下以Group为例子讲述如何在Flex 4中填充背景颜色、图片:  1、图片填充方式:                2、渐变填充方式:
  • flex 设置背景

    2013-08-27 16:33:37
    flex 设置背景图片     ...已经测试,group相当于canvas,而后里面画一个矩形,在矩形里面用图片填充,也可以使用渐变填充,如下: ...以下以Group为例子讲述如何在Flex 4中填充背景颜色、图片: 
  • css background背景

    2020-10-09 11:07:07
    <’ background-image ‘>: 指定对象的背景图像。可以是真实图片路径或使用渐变创建的...: 指定对象的背景图像如何铺排填充。 <’ background-attachment ‘>: 指定对象的背景图像是随对象内容滚动还
  • 原文:http://coolketang.com/staticOffice/5a97f2f79f54542163dc40f2.html1. 本节课将为您演示,如何给当前工作表中的三个单元格,设置不同的背景样式。首先点击选择左侧的单元格。 2. 然后点击填充色下拉箭头,弹...
  • 1. 如何创建渐变背景和文本图层 步骤1 创建一个新的1000 x 800px文档, 然后单击 “图层” 面板底部的 “创建新填充或调整图层” 图标以添加渐变图层。使用 “颜色” #e8d2d6 在左侧创建渐变填充, 将 #ddbcc0 向右,...
  • 1. 如何创建渐变背景和文本图层 步骤1 创建一个新的1000 x 800px文档, 然后单击 “图层” 面板底部的 “创建新填充或调整图层” 图标以添加渐变图层。使用 “颜色” #e8d2d6 在左侧创建渐变填充, 将 #ddbcc0 向右,...
  • 1.如何创建渐变背景和文本图层 步骤(1) 创建一个新的1000 x 800px文档, 然后单击 "图层" 面板底部的 "创建新填充或调整图层" 图标以添加渐变图层。使用 "颜色" #e8d2d6 在左侧创建渐变填充, 将 #ddbcc0 向...
  • 在写ppt的时候,一般要设置背景,这样显得美观。那么如何实现上图中的黑板背景呢?一、新建空白演示文稿二、幻灯片上邮件,选择“设置背景格式”点击后出现三、选择“渐变填充”,...
  • 但是当你设置背景图片的时候,会将子窗口按钮等等改变,记录一下,如何单独设定窗体背景。 新建UI文件 右键样式表,添加需要的图片 background-image border-image 两者区别在于border可以自动拉伸填充窗口。 添加...
  • 如何创建渐变背景和文本图层 步骤(1)创建一个新的1000 x 800px文档, 然后单击 "图层" 面板底部的 "创建新填充或调整图层" 图标以添加渐变图层。使用 "颜色" #e8d2d6 在左侧创建渐变填充, 将 #ddbcc0 向右, 然后将...

空空如也

空空如也

1 2 3 4 5
收藏数 88
精华内容 35
关键字:

如何填充渐变背景