Mathematica Asked by Unbelievable on March 5, 2021
In Mathematica, customizing Sections, Subsections, Titles and so on, can be done with Format > Style > …. Changing the background color of a style is one of the things you can do. Here is an example where I have colored the background orange:
But I want to change the background to show a color gradient. I mean, instead of having the same orange in all of the background, there should be a gradient so the orange fades from top to bottom. Gradient styles will be found in Palettes > Color Schemes. But I can’t get it to work for changing the color of a cell background.
I'm not sure how exactly to integrate this with a stylesheet background, but here is a way to achieve gradients using Graphics
:
Overlay@{
Graphics[
Raster@{List@@@Table[Blend["AvocadoColors",i],{i,0,1,.005}]},
AspectRatio->1/2,
ImageSize->Full],
Graphics[
Text@Style["Gradient!",FontSize->[email protected]],
AspectRatio->1/2,
ImageSize->Full]}
EDIT
I stumbled on a different way to do this that would be easier for simple layouts (tidied up with kguler's suggestion):
Graphics[{
Polygon[
{{0, 0}, {1, 0}, {1, 1}, {0, 1}},
VertexColors -> {Yellow, Yellow, Green, Green}],
Text[
Style["Gradient!", FontSize -> [email protected]],
Scaled[{.5, .5}]]}, ImageSize -> Full, AspectRatio -> 1/2]
Correct answer by mfvonh on March 5, 2021
In versions 11.1+, you can use LinearGradientImage
and add the text as Epilog
:
Show[LinearGradientImage["BlueGreenYellow", 6 {100, 50}],
Epilog -> {Text[Style["Gradient!", FontFamily -> "Old English Text MT",
FontSize -> [email protected]], Scaled[{.5, .5}]]}]
Replace "BlueGreenYellow"
with {Black, Red, Orange, White}
to get
Update: In versions 12.2.0+, gradient filling is available as a graphics directive:
Graphics[{LinearGradientFilling["BlueGreenYellow"], Rectangle[],
Text[Style["Gradient!", FontSize -> [email protected]], Scaled[{.5, .5}]]},
AspectRatio -> 1/2]
Answered by kglr on March 5, 2021
The easy way to do this is to use Panel
:
Panel[
Style["asdasd", FontSize -> 100, White],
Appearance -> Rasterize@LinearGradientImage["BlueGreenYellow", 6 {100, 50}],
ImageSize -> {500, 100}
]
This Panel
content can be messed with however you like. You can also make it so inside a certain Cell
every Panel
has the same Appearance
by setting it at the style environment level. This works best if you use the BaseStyle
option to Panel
, since that lets you create targeted environments, but I'm just gonna show it like this:
Style[
Panel[
Style["asdasd", FontSize -> 100, White],
ImageSize -> {500, 100}
],
PanelBoxOptions -> {
Appearance -> Rasterize@LinearGradientImage["BlueGreenYellow", 6 {100, 50}]
}
]
Answered by b3m2a1 on March 5, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP