Blob Blame History Raw
@subsection Goals

This section exists to orgnize backgrounds of @emph{TreeFlower}
artistic motif.

@subsection Description

@subsubsection Desktop background

Once you have defined the vectorial artistic motif design, use the
@command{centos-art.sh} script (as described in usage section below)
to produce the png version of it. With the png version of your
vectorial design do the following:

Open the png version with GIMP.

Save the png version as a project of GIMP inside
@file{trunk/Identity/Themes/Motifs/TreeFlower/Backgrounds/Xcf}
directory, using the same name of your vectorial design but with the
@samp{.xcf} extension.  

Now use GIMP to improve your design.  Here you may add one layer for
pattern, another for colors, and so on until you find yourself
confortable with your artwork. For example,  the following layer
distribution (from bottom to top) was used to build revision 285 of
file @file{1360x768.xcf} using @emph{TreeFlower} artistic motif at
revision 241.

@table @strong
@item Layer 1: Background 

The first thing we did with GIMP was to create a layer named
@samp{Background} to store the artistic motif (File > Open as layer).
This layer is the lowest layer in the image.  Later, we started to
create layers one upon another to change the artistic motif visual
style.

@item Layer 2: Shadow#1

This layer is above @samp{Background} and contains a linear gradient
from left (000000) to right (transparent) covering the whole image.
This layer masks the artistic motif to avoid the effect of linear
gradient. This layer is 100% of opacity.

@item Layer 3: Shadow#2

This layer is above @samp{Shadow#1} and contains a linear gradient
from left (000000) to right (transparent) covering just the 70% of the
whole image aproximatly. This layer doesn't mask the artistic motif
which make the left part of it fall into the dark of linear gradient.
This layer is 100% of opacity.

@item Layer 4: Pattern (Paper)

This layer is above @samp{Shadow#2} an contains the paper pattern
shipped with GIMP 2.2. This layer doesn't mask the artistic motif so
the pattern is applied over the whole image. This layer is set to 15%
of opacity.

@item Layer 5: Pattern (Stripes)

This layer is above @samp{Pattern (Paper)} and contains the stripes
used over the artistic motif. This layer do masks the artistic motif
so the stripes are only applied to it. This layer is set to 10% of
opacity.

@item Layer 6: Shadow#3

This layer is above @samp{Pattern (Stripes)} and contains a linear
gradient from right (6600ff) to left (transparent).  This layer masks
the artistic motif so the linear gradient doesn't affect it. This
layer is set to 15% of opacity.

@item Layer 7: Shadow#4

This layer is above @samp{Shadow#3} and contains a
linear gradient from left (000000) to right (transparent). This layer
do masks the artistic motif so the linear gradient doesn't affect it.
This layer is set to 10% of opacity.

@item Layer 8: Color#1

This layer is above @samp{Shadow#4} and is filled with orange (ffae00)
color over the whole image. This layer is set to 10% of opacity.

@item Layer 9: Color#2

This layer is above @samp{Color#1} and is filled with
blue (010a88) color over the whole image. This layer is set to 10% of
opacity.

@end table

@quotation
@strong{Note} There is no definite combination. To get the appropriate
visual design is a matter of constant testing and personal taste.
@end quotation

Finally, use @samp{Save as copy ...} option to export the final
design. To export the final design use the same name of your vectorial
design plus @samp{-final.png} extension. 

You can repeat these steps to create images for other screen
resolutions.

@subsubsection Anaconda Prompt (syslinux) background

When building syslinux backgrounds it is needed to take into account
that the final image is reduced to 16 colors. In desktop background
there is no color limitation but syslinux does have. The goal of this
section is achieving a final syslinux background as close as possible
to desktop backgrounds using 16 colors only.

Another point to consider is the forground and background definition
used by syslinux. The syslinux documentation says that the color set
in position 0 is the background and color set in position 7 is the
forground. The final palette of color used by our background will
match that specification. For great contrast we'll use black as
background and white as forground. At this poing we have black
(000000) and white (ffffff) colors in our syslinux palette, which left
us with 14 colors to play with. 

Let's begin with @file{Xcf/640x300.xcf} layer distribution from bottom
to top:

@table @strong
@item Layer 1: Background

This layer is the lowest layer in the image composition and contains
the artistic motif image rendered for the same resolution (i.e.,
@file{Img/Png/640x300.png}). This layer is set to 100% of opacity.

@item Layer 2: Pattern (Paper)

This layer is placed above @samp{Background} layer and contains the
paper pattern shipped with GIMP 2.2. This layer doesn't mask the
artistic motif. This layer is set to 30% of opacity.

@item Layer 3: Pattern (Stripes)

This layer is placed above @samp{Pattern (Paper)} layer and contains
the stripes pattern shipped with GIMP 2.2. This layer does mask the
artistic motif in order to apply the stripes over it only. The
background is not affected by the stripes pattern just the artistic
motif. This layer is set to 20% of opacity.

@item Layer 4: Shadow#1

This layer is placed above @samp{Pattern (Stripes)} layer and fills
the entire layer area with violet (6600ff) color. This layer do mask
the artistic motif in order to applied the violet color to the
background area outside the artistic motif only. This layer is set to
15% of opacity.

@item Layer 5: Color#1

This layer is above @samp{Shadow#1} and is filled with orange (ffae00)
color to cover the whole image. This layer is set to 10% of opacity.

@item Layer 6: Color#2

This layer is above @samp{Color#1} and is filled with blue (010a88)
color to cover the whole image. This layer is set to 10% of opacity.

@item Layer 7: Shadow#2

This layer is above @samp{Color#1} and contains a linear gradient from
left (000000) to right (transparent) covering 70% of the image
approximately. 

@end table

At this point we have the composition and should look like the desktop
backgrounds. Compared with desktop backgrounds there are some
differences in opacity. This is because in our testings the final
color information found with this composition produces an acceptable
16 color image. Of course this is something we haven't seen yet.

To define the color information of our current coposition, save the
syslinux background composition we've done using @samp{File > Save as
Copy ...} option in the following location:

@verbatim
trunk/Identity/Themes/Motifs/TreeFlower/Backgrounds/Img/Png/640x300-final.png
@end verbatim

Now, create the final png version of syslinux backgrounds using the
following command:

@verbatim
centos-art render --entry=trunk/Identity/Themes/Motifs/TreeFlower/Distro/Anaconda/Prompt
@end verbatim

This command will create syslinux-splash final images for all major
releases of CentOS distribution the repository has been configured to.
The important files here are @file{syslinux-splash.png}, other
files may contain the wrong information because we haven't defined yet
the correct color information to use.

Open one @file{syslinux-splash.png} file with GIMP and use the
@samp{Image > Mode > Indexed} to reduce image colors up to 16 colors,
using the @samp{Generate optimum palette} feature of GIMP.  If the
image looks aceptable after reducing colors, use the @samp{Palettes}
menu (Ctrl+P) of GIMP to import a new palette from file and name it
@samp{CentOS-TreeFlower-Syslinux}. Once you've saved the palette, the
color information is stored at:

@verbatim
~/.gimp-2.2/palettes/CentOS-TreeFlower-Syslinux.gpl
@end verbatim

You need to edit @file{CentOS-TreeFlower-Syslinux.gpl} file in order
to set the appropriate order of colors.  Remember black (000000) in
position 0, and white (ffffff) in position 7. Other positions are
irrelevant. When editing this file you may find that color reduction
did not set black and white colors to their respective values exactly.
Change that manually. For example, consider the following palette:

@verbatim
GIMP Palette
Name: CentOS-TreeFlower-Syslinux
Columns: 16
#
  0   0   0	Background (black)
 23  20  35	Untitled
 34  25  48	Untitled
 37  35  60	Untitled
 47  36  68	Untitled
 37  54  86	Untitled
 60  48  90	Untitled
255 255 255	Foreground (white)
 66  54  99	Untitled
 74  61  98	Untitled
 49  78 126	Untitled
 43  87 151	Untitled
 92  89  95	Untitled
 54 104 183	Untitled
158 153 156	Untitled
201 196 195	Untitled
@end verbatim

Update the @samp{Palettes} menu to get the new color positions from
the file you just edited and open the palette with double click. 

Update the @file{syslinux.gpl} file copying the following file:

@verbatim
~/.gimp-2.2/palettes/CentOS-TreeFlower-Syslinux.gpl
@end verbatim

to

@verbatim
trunk/Identity/Themes/Motifs/TreeFlower/Colors/syslinux.gpl
@end verbatim

With the @samp{CentOS-TreeFlower-Syslinux} palette opened in the
@samp{Palette Editor}, open (Ctrl+O) the following file:

@verbatim
trunk/Identity/Themes/Motifs/TreeFlower/Colors/syslinux.ppm
@end verbatim

and replace its color information with that one in
@samp{CentOS-TreeFlower-Syslinux} palette.  When you are replacing
color information inside @file{syslilnux.ppm}, remember to keep the
order of colors just as they are in the
@samp{CentOS-TreeFlower-Palette} palette.  

The @file{syslinux.ppm} file is 16 pixels width and 1 pixel height, so
you probably need to zoom it a bit to set the color information in
their place when using the pen tool with the brush @samp{Circle (01)
(1 x 1)}.

Once you've updated the @samp{syslinux.ppm} file, it is time to update
the following file:

@verbatim
trunk/Identity/Themes/Motifs/TreeFlower/Colors/syslinux.hex
@end verbatim

The @file{syslinux.hex} file contains the color information in
hexadecimal notation.  The color information in hexadecimal notation
is required by @command{ppmtolss16} command.  The @command{ppmtolss16}
command produces the final LSS16 image format that is used by syslinux
program inside CentOS distribution.

The color information inside @file{syslinux.hex} must match the one in
@file{syslinux.ppm} and @file{syslinux.gpl}. For example, based on
@file{CentOS-TreeFlower-Syslinux} palette of colors above, consider
the following @file{syslinux.hex} file:

@verbatim
#000000=0
#171423=1
#221930=2
#25233c=3
#2f2444=4
#253656=5
#3c305a=6
#ffffff=7
#423663=8
#4a3d62=9
#314e7e=10
#2b5797=11
#5c595f=12
#3668b7=13
#9e999c=14
#c9c4c3=15
@end verbatim

@subsubsection Grub background

@subsection Usage

@itemize
@item ...
@end itemize

@subsection See also

@menu
@end menu