Setting colors, brushes, and masks
Changing the visual look of an object is a fundamental task in Microsoft Expression Blend. By using the properties under both Appearance and Brushes in the Properties panel, you can change the stroke color, fill color, opacity, and visibility of a selected object. Depending on what type of object you select in your Expression Blend project, the properties of the Appearance and Brushes categories dynamically adjust to the content of the object to reflect the appropriate visual attributes.
Much of changing the appearance of an object relates to applying brushes to specific properties. The following table describes these properties.
Sets the brush that is applied to the interior of a shape or path.
Sets the brush that is applied to the outline (border) of a shape or path.
Sets the brush that is applied to the background of an object. This property is typically applied to the background of controls that display text, such as the Button or TextBlock control.
Sets the brush that is applied to the foreground of an object. This property is typically applied to the text that is displayed in controls, such as the Button or TextBlock control.
Sets the brush that is applied to the border on certain controls.
Sets the opacity of the whole object.
Determines whether an object is visible or hidden at run time. Child objects can also be affected by the visibility of the parent element.
Sets a brush whose color is ignored and whose opacity is transferred to the masked object. Wherever the opacity mask is opaque, the masked object will be opaque; wherever the opacity mask is transparent, the masked object will be transparent.
Brushes are used to set the visual appearance of an object on the artboard. For example, you can use a solid blue brush for the fill of a rectangle (as in the first image that follows). Brushes come in several forms, from simple solid color or gradient brushes to more complex tile brushes. The following table describes the brushes that are available in Expression Blend. Additionally, you can use No brush to remove all color from the selected property. For example, to create an outline of a rectangle, you could set the Fill of the rectangle to No brush, and set the Stroke to a Solid color brush.
Solid color brush
Composed of a single color.
Linear gradient brush
Composed of a linear color gradation.
Radial gradient brush
Composed of a radial color gradation.
Created from an image. From left to right as shown here: the initial image brush, the image brush tiled, and the image brush flipped.
Created from a vector drawing. From left to right as shown here: the initial drawing brush, the drawing brush tiled, and the drawing brush flipped.
Created from a control such as a button. From left to right as shown here: the initial button and the brush with a Tile mode set to Tile. Note that visual brushes can potentially decrease the performance of the running application, because of the complexity of the control that is used to create the visual brush.
After you create a brush on an object, you can convert the brush to a resource that you can then apply to other objects.
Brush resources are not restricted to single brush or color properties. You can create a brush resource by using several objects on the artboard. You can even create a brush called a VisualBrush that updates its appearance during runtime if the objects that it was created from change during runtime.
You can create resource dictionaries for your brushes so that you can reuse them throughout your project, or even in other projects.
For information about resources, see Creating reusable resources.
Expression Blend includes a color editor under Brushes in the Properties panel. The color editor also appears if you modify a brush resource in the Resources panel. The color editor has the following four color spaces, in addition to a hexadecimal mode (#AARRGGBB):
RGB Red (0-255), Green (0-255), Blue (0-255).
HLS Hue (360-degree color wheel), Lightness (0 to 100 percent), Saturation (0 to 100 percent).
HSB Hue (360-degree color wheel), Saturation (0 to 100 percent), Brightness (0 to 100 percent).
CMYK Cyan (0 to 100 percent), Magenta (0 to 100 percent), Yellow (0 to 100 percent), Black (0 to 100 percent).
To change between color spaces, click one of the underlined letters in the current color space to see a pop-up menu of the alternative color spaces.
Expression Blend provides two tools that are designed specifically to copy and apply attributes to and from objects. The following properties are copied or applied during Eyedropper and Paint Bucket actions:
Brushes Foreground, Background, Border Brush, Fill, Stroke, and Opacity Mask
Appearance Opacity, Stroke Thickness, Stroke Miter Limit, Stroke Start Line Cap, Stroke End Line Cap, Stroke Line Join, and Stroke Dash Cap
Text Font Family, Font Size, Font Weight, Font Style, Text Decorations, Line Height, Text Indent, and Text Alignment
Copies the appearance of another object to the currently selected object or objects.
Paint Bucket tool
Copies the appearance of the currently selected object or objects to another object.
For more information about the Eyedropper and Paint Bucket tools, see Copy or apply attributes to an object.
A Color eyedropper also appears in the lower-right corner of the color Editor when you modify a Solid color brush or a gradient stop on a Gradient brush . With this eyedropper selected, you can grab a color sample from anywhere on your desktop and apply it to the selected brush. You can press the ESC key at any time to cancel out of the eyedropper.
Gradients enable you to apply a graduated blend of colors to an object, to create a smooth color gradation and to give that object more depth. Perhaps you want to use that object as a background where the left side of the object contains a solid color that gradually fades to white on the right side of the object. This enables you to create two distinguishable areas from an otherwise flat object.
Click LinearGradient Brush and Radial gradient under Brushes in the Properties panel to switch between the two gradient brush types.
You can use the two types of gradient brushes to create gradient fills, gradient strokes, text that has a gradient for its Foreground property, or gradient backgrounds for any element that has a Background property. When you apply a gradient to an appearance property, notice that small icons , known as stops, appear on the gradient slider. You can change the color of each gradient stop, and add as many stops as you want to the gradient slider by just clicking the gradient slider. Conversely, you can easily remove stops that you no longer need by dragging them off the bottom of the gradient slider (dragging off the sides or top of the slider will not remove the stops).
You can also set some options when you use a gradient brush. Click Advanced property options under Brushes in the Properties panel to set the SpreadMethod property to one of the following:
Pad Extends the colors of the outermost gradient stops to the edges of the object.
Reflect Mirrors the gradient fill.
Repeat Repeats the gradient fill.
These options work on both linear and radial gradient brushes when you use Brush Transform to modify the brush. For more information, see the "Brush transform tool" section that follows.
To transform the fill, stroke, opacity mask, or other brush that is applied to an object, select the brush property in the Properties panel, and then select Brush Transform in the Tools panel. A brush transform arrow appears on the artboard that you can modify with your mouse pointer. If you are using a gradient brush, the endpoints of the transform arrow correspond to the gradient stops at either end of the color bar. You can change the behavior of the brush transform tool in the following ways:
Hold down the SHIFT key when you drag an endpoint to constrain the movement along the straight line between the endpoints.
Hold down the SHIFT key when you move the whole arrow to constrain the movement to the X or the Y plane.
Hold down the SHIFT key when you rotate an endpoint to snap every 15 degrees.
Hold down the ALT key when you drag an endpoint to move both endpoints at the same time, maintaining the position of the center point.
The following images demonstrate the appearance of a rectangle object after various transformations are applied to the gradient brush of the Fill property.
Transformations applied to the linear gradient brush of a rectangle
Transformations applied to the radial gradient brush of a rectangle
You can optionally set the spread method of a gradient brush when you click Advanced property options under Brushes in the Properties panel, and then set the SpreadMethod property. In the previous image, the Pad option is selected. If you selected the Reflect or Repeat option, and then made the transform arrow shorter than the object, you would see a corrugated effect.
You can transform brush types other than gradient brushes. For more information about brush transforms, see Transform a gradient or tile brush.
When you transform a brush, parts of the object will sometimes be clipped (that is, parts will disappear outside the bounding box). You can fix clipping problems in the following ways:
Clear the check box for the ClipToBounds property under Appearance in the Properties panel.
Use the properties in the LayoutTransform category instead of RenderTransform under Transform in the Properties panel. This is especially useful when you transform a visual brush.
Strokes are the borders on objects. You can change the applied brush (solid, gradient, or tile), opacity, width, and miter limit of the stroke on an object, in addition to the corner join and end-cap styles. The stroke on an object is always applied on top of a fill, even if you have no fill applied to that object. To make any changes to the stroke of an object, you must have Stroke selected in the list under Brushes in the Properties panel.
Stroke width The width of a stroke on an object is measured in pixels (or, device-independent units, which are approximately 1/96 inch) and can have a value ranging from 0 to up to half of the width or height of the shape. In general, after the stroke thickness reaches half of the width and height of the shape, the stroke covers the whole fill. You can set the stroke width value by using the StrokeThickness property under Appearance in the Properties panel.
Corner joins For objects that have sharp corners, such as rectangles, you can change the way the stroke appears at each corner point by applying one of three corner join styles: Miter Join, Round Join, and Bevel Join. You can set the corner join style by using the StrokeLineJoin property under Appearance in the Properties panel.
Miter limit The miter limit controls how long the corner point of a miter join can get before it is automatically squared off into a bevel join. You can set the miter limit by using the StrokeMiterLimit property under Appearance in the Properties panel. The following image displays three angles with a StrokeThickness of 40, and a StrokeMiterLimit of 1 , 2.2 , and 4 . The size of the angle and the stroke thickness determine the visual effect of the miter limit.
End caps For paths that contain unconnected ends, such as lines, you can change the way the stroke appears at each end by applying one of four end-cap styles: Flat Cap , Round Cap , Square Cap , and Triangle Cap . You can set the end-cap style by using the StrokeEndLineCap or StrokeStartLineCap properties under Appearance in the Properties panel.
When you decrease the opacity of an object, you increase its transparency, so that you can see other objects that are behind it. Opacity is controlled by an alpha channel that stores all the transparency information for an object, gradient, or opacity mask. The following table describes three methods that you can select from to change the opacity of the object.
Opacity Changes the transparency of the whole object, including all the visual attributes of the object. The image to the right shows the opacity value set at 60 percent.
Transparency Sets the alpha value (A) of an individual brush attribute for an object, such as the fill or stroke, slightly transparent without having to change all attributes on a single object. The image to the right shows that only the fill for the ellipse is more transparent, because the alpha value for the fill is set to 50 percent. The stroke for the ellipse remains at 100 percent.
Visibility Enables you to hide or show an object at different times. This is especially effective in animation when you do not want to remove an object completely from the artboard. In the image to the right, the left object that has a blue fill and a thick black stroke and that is part of the previous two images in this table is now set as Hidden.