标签: gradient

在 WP8 中以编程方式更改渐变样式

我的应用程序中有一些自定义控件。这些自定义控件之一包含渐变背景,我希望用户能够动态地在线性和径向渐变样式之间切换。我如何在代码中执行此操作?我的自定义控件 XAML:

<UserControl x:Class="App.tile"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}" Height="191.94" Width="406.91">

<Grid x:Name="LayoutRoot">
    <Grid.Background>
        <RadialGradientBrush>
            <GradientStop Color="#FF092949" Offset="0"/>
            <GradientStop Color="#FF06192C" Offset="1"/>
        </RadialGradientBrush>
    </Grid.Background>
    <TextBlock HorizontalAlignment="Left" Margin="10,134,0,0" TextWrapping="Wrap" x:Name="tileTitle" Text="Project" VerticalAlignment="Top" FontSize="36"/>
</Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

我将更改其外观的代码:

private void linearRadioButton_Checked(object sender, RoutedEventArgs e)
{
    // The linearRadioButton was checked, update the exampleTile
}
Run Code Online (Sandbox Code Playgroud)

多谢!

更新:

现在尝试过这个:

    <phone:PhoneApplicationPage.Resources>
    <LinearGradientBrush x:Key="linearBrush" StartPoint="0,0.5" EndPoint="1,0.5">
        <GradientStop Color="Yellow" Offset="0.0" />
        <GradientStop Color="Red" Offset="0.25" />
        <GradientStop Color="Blue" Offset="0.75" />
        <GradientStop Color="LimeGreen" Offset="1.0" /> …
Run Code Online (Sandbox Code Playgroud)

c# gradient brush tile windows-phone-8

1
推荐指数
1
解决办法
2699
查看次数

Android TextView 带有渐变*和*描边

我现在正在寻找一段时间并测试了很多东西,但没有任何效果。我有一个 TextView,它应该有渐变填充颜色描边(不是 Textview 的背景,而是文本本身)。

我首先编写一个 GradientTextView 类。目前,我有一个带有渐变填充颜色和阴影的文本(阴影只是一个测试,也许我稍后需要一个。此时描边很重要)。但是,当我尝试添加描边时,仅显示描边或渐变填充颜色。我尝试了很多东西,例如 这里的解决方案。

import com.qualcomm.QCARSamples.ImageTargets.R;
import com.qualcomm.QCARSamples.ImageTargets.R.color;

import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.Shader;
import android.graphics.Shader.TileMode;
import android.graphics.SweepGradient;
import android.util.AttributeSet;
import android.widget.TextView;

public class GradientTextView extends TextView
{
    public GradientTextView( Context context )
    {
        super( context, null, -1 );
    }
    public GradientTextView( Context context, 
        AttributeSet attrs )
    {
        super( context, attrs, -1 );
    }
    public GradientTextView( Context context, 
        AttributeSet attrs, int defStyle ) …
Run Code Online (Sandbox Code Playgroud)

android styles gradient textview stroke

1
推荐指数
1
解决办法
2591
查看次数

具有内部阴影和渐变边框的 CSS 渐变箭头形状

我想从 CSS 创建一个带有渐变边框和 1px 内部阴影的渐变箭头形状按钮。

我创建了一个图像来显示按钮和样式规则:

图像

这是我到目前为止所拥有的:

.button {
        color: #FFF;
        background-color: #D02180 !important;
        background: -webkit-gradient(linear, 0 0, 0 100%, from(#f84aa4), to(#d02181));
        background: -webkit-linear-gradient(#f84aa4, #d02181);
        background: -moz-linear-gradient(#f84aa4, #d02181);
        background: -o-linear-gradient(#f84aa4, #d02181);
        background: linear-gradient(#f84aa4, #d02181);
        padding: 5px 10px;
        border-radius: 6px;
        -moz-border-radius: 6px;
        -webkit-border-radius: 6px;
        border: 1px solid #ab1465;
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset;
    }
Run Code Online (Sandbox Code Playgroud)
<a class="button">Next</a>
Run Code Online (Sandbox Code Playgroud)

跨浏览器支持是一个主要的事情,所以如果一切都可以从 CSS 完成(除了渐变边框),那也是可以的。在这种情况下,边框将具有一种简单的颜色 - #ab1465

主要问题始于梯度。我可以借助 css 伪元素制作箭头形状,但我需要一种跨浏览器解决方案来为整个箭头形状提供一个连续渐变。

css gradient button css-shapes

1
推荐指数
1
解决办法
4540
查看次数

Lua - xterm 256 色渐变脚本

这个问题困扰了我一段时间,我不确定是否有答案。我知道有像 Love2D 这样的模块可以完成渐变,我猜它使用 RGB 着色。然而,我需要使用 xterm 256 颜色找到非常相似的东西,但我似乎无法在任何地方找到渐变贴图来帮助实现这一点。

我的猜测是,我必须创建一个“最接近 RGB 颜色”并从中创建一个渐变,将相应的 RBG 与最近的 xterm 匹配相匹配,但说实话,我什至不知道从哪里开始这。我知道Python中有一个“将xterm转换为RGB十六进制”脚本(位于此处),但由于我不了解Python,所以我不知道如何将其转换为Lua。

最终,我想做的是能够将文本或多或少地变成彩虹渐变。我目前有一个返回 xterm 颜色的函数,但它是完全随机的,并且输出可能有点难以阅读。这是我对该代码的内容。代表@x“转换为 xterm 颜色”,后面跟着一个三位数代码(001 到 255),然后是文本。

function rainbow(text)
    local rtext = ""
    local xcolor = 1
    local sbyte = 1
    for i = 1, #text do
        math.randomseed(os.time() * xcolor * sbyte)
        sbyte = string.byte(i)
        xcolor = math.random(1, 255)
        rtext = rtext .. "@x" .. string.rep("0", 3 - string.len(xcolor)) .. xcolor .. text:sub(i,i)
    end
    return rtext
end
Run Code Online (Sandbox Code Playgroud)

因此,例如,print(rainbow("Test"))会导致:

@x211T@x069e@x154s@x177t …

lua gradient colors 256color

1
推荐指数
1
解决办法
2505
查看次数

使用 UIBezierPath 用渐变色填充圆形边框

我想使用UIBazierpath渐变色填充圆的一半边框。

最初我尝试使用完整的圆圈但它不起作用,渐变总是填充圆圈而不是边框​​。有没有办法做到这一点?

这是我到目前为止所拥有的:

let path = UIBezierPath(roundedRect: rect, cornerRadius: rect.width/2)
let shape = CAShapeLayer()
shape.path = path.cgPath
shape.lineWidth = 2.0
shape.strokeColor = UIColor.black.cgColor
self.layer.addSublayer(shape)

let gradient = CAGradientLayer()
gradient.frame = path.bounds
gradient.colors = [UIColor.magenta.cgColor, UIColor.cyan.cgColor]

let shapeMask = CAShapeLayer()
shapeMask.path = path.cgPath
gradient.mask = shapeMask
shapeMask.lineWidth = 2

self.layer.addSublayer(gradient)
Run Code Online (Sandbox Code Playgroud)

编辑:添加了图像。我想实现这样的目标。在此处输入图片说明

gradient uibezierpath swift

1
推荐指数
1
解决办法
1266
查看次数

集合视图单元格中的 iOS 渐变颜色问题

我在设置渐变颜色以在集合视图中查看时遇到此问题

当它第一次绘制时很好。但是当我选择一些选项并重新加载集合时,它会像第二张图片一样发生。

viccalexander/变色龙 ( https://github.com/viccalexander/Chameleon )

在此处输入图片说明

在此处输入图片说明

gradient ios chameleon uicollectionviewcell swift

1
推荐指数
1
解决办法
1317
查看次数

Android Q 显示错误的渐变方向

自从我将我的设备更新为 android 10 以来,我的背景渐变之一面临着一个奇怪的问题。

我有一个带有渐变背景的 RelativeLayout 看起来像这样。

<RelativeLayout
  android:id="@+id/layoutSpeedLegend"
  android:layout_width="match_parent"
  android:layout_height="18dp"
  android:background="@drawable/background"/>
Run Code Online (Sandbox Code Playgroud)

我的 background.xml 看起来像这样。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="rectangle">

        <gradient
            android:centerColor="@color/yellow"
            android:endColor="@color/red"
            android:startColor="@color/darkgreen"
            android:centerX="50%"/>

        <corners android:radius="15dp" />
    </shape>
</item>
Run Code Online (Sandbox Code Playgroud)

在编辑器预览中,一切看起来都很好 在此处输入图片说明

但在我真正的测试设备上是这样的。 在此处输入图片说明

添加android:angle="90"到我的 background.xml 也不起作用。

有人知道为什么会这样吗?

android gradient background android-relativelayout

1
推荐指数
1
解决办法
493
查看次数

使用 Kotlin 语言在 Android Studio 中设置文本的渐变颜色

我有一个文本,我想设置一个渐变颜色作为它的前景。我可以用 XML 来做吗?

还是应该在活动中进行?我正在 Android Studio 中使用 Kotlin 进行编程。

文件activity_main.xml

<androidx.constraintlayout.widget.ConstraintLayout xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#FFFFFF"
        android:gravity="center"
        android:text="Text Color is Gradient"
        android:textColor="#000"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

文件gradient.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
    <gradient
        android:angle="90"
        android:centerColor="#555994"
        android:endColor="#b5b6d2"
        android:startColor="#555994"
        android:type="linear" />

    <corners
        android:radius="0dp"/>

</shape>
Run Code Online (Sandbox Code Playgroud)

我的活动是这样的:

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity


class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

    }
}
Run Code Online (Sandbox Code Playgroud)

xml android gradient kotlin android-studio

1
推荐指数
1
解决办法
2634
查看次数

带渐变的颤动滑块

我想知道是否有办法在 Flutter 中创建带有渐变颜色的滑块小部件。是滑块类的链接,但没有“滑块主题”或类似的东西。

gradient slider flutter

1
推荐指数
1
解决办法
1534
查看次数

如何在颤振中对盒子装饰应用线性渐变?

下面是我要构建的用户界面,

在此处输入图片说明

目前,我已经使用线性渐变来实现这一点。但问题是当我在 Box Decoration 中使用 image 时,线性渐变消失了。

下面是代码,

    child: Container(
                      padding: EdgeInsets.all(10.0),
                      height: 180,
                      child: Container(
                        padding: EdgeInsets.all(10.0),
                        decoration: BoxDecoration(
                            borderRadius: BorderRadius.all(Radius.circular(20)),
                          boxShadow: [
                            BoxShadow(
                              color: ColorSet.primaryGrey,
                              blurRadius: 5,
                              offset: Offset(0, 7),
                            ),
                          ],
                          gradient: LinearGradient(
                            colors: [ColorSet.primaryRed, Colors.transparent, Colors.transparent, ColorSet.primaryRed],
                            begin: Alignment.topCenter,
                            end: Alignment.bottomCenter,
                            stops: [0, 0, 0.6, 1],
                          ),

//On uncommenting the below three lines, I do not see the linear gradient
                          // image: DecorationImage(
                          //   image: AssetImage("lib/assets/images/event.jpg"),
                          //   fit: BoxFit.cover,
                          // ),
                        ),
                        child: Column(
                          mainAxisAlignment: MainAxisAlignment.spaceBetween, …
Run Code Online (Sandbox Code Playgroud)

containers gradient image linear-gradients flutter

1
推荐指数
2
解决办法
885
查看次数