Setting colors, brushes, and masks

Visual Studio 2012

Changing the visual look of an object is a fundamental task in Blend for Visual Studio 2012. 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 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.

Property

Description

Fill

Sets the brush that is applied to the interior of a shape or path.

Stroke

Sets the brush that is applied to the outline (border) of a shape or path.

Background

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.

Foreground

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.

BorderBrush

Sets the brush that is applied to the border on certain controls.

Opacity

Sets the opacity of the whole object.

Visibility

Determines whether an object is visible or hidden at run time. Child objects can also be affected by the visibility of the parent object.

OpacityMask

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 Blend. Additionally, you can use No brush 706bbd5c-c0e0-43a1-9604-297f019d0275 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.

Brush

Appearance

Description

Solid color brush

b83764e5-b1f6-4a94-b75b-7513bef1a430

Composed of a single color.

Linear gradient brush

50efa3cf-d265-4ea4-af0f-bdcaed4d15fa4f1dddeb-7c03-449d-8199-0fa82122f4b2

Composed of a linear color gradation.

Radial gradient brush

c02b5484-1814-40d7-9bd8-1fa88f76fab8c66dd0d9-ce5a-4c6c-9621-7b3cc16a9429

Composed of a radial color gradation.

Image brush

81f84f56-906d-456b-8288-d77da1e01e31d3782ca8-64da-47a4-a095-c6cdd0fa47a238ae3691-f3f1-4a1e-82ca-c7fa164bf56e

Created from an image. From left to right as shown here: the initial image brush, the image brush tiled, and the image brush flipped.

Drawing brush

197666ac-ef57-4c5c-9779-669e991a00a5ba09cda3-4cee-40ba-b3d4-edc032158bdc15bf6021-620c-4490-9eae-086153d3f14f

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.

Visual brush

fb6c90e0-153c-48fe-b563-e601beac6227e261b99f-7d8f-4d91-bc84-19c7beccc255

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.

For more information about brushes, see Modify the appearance of an object by using brushes.

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 more information, see Create a brush resource or color resource and Modify the appearance of an object by using brushes.

For information about resources, see Creating reusable resources.

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.

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

199cf53a-f100-43f6-9a06-7c9f1a453f39

Eyedropper tool

Copies the appearance of another object to the currently selected object or objects.

39a62108-d8d1-4c6b-8d89-8678a055ff36

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 2ab2d2fb-3478-4b33-87fb-3cdeb9df4d52 also appears in the lower-right corner of the color Editor when you modify a Solid color brush 3a66ec96-47bb-47fc-8876-6b9456feec3a or a gradient stop on a Gradient brush 91fb0c61-7b3b-4ae7-8a59-760e625e3bd7. 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 Gradient brush 91fb0c61-7b3b-4ae7-8a59-760e625e3bd7 under Brushes in the Properties panel to create a gradient. Click Linear Gradient Brush 91fb0c61-7b3b-4ae7-8a59-760e625e3bd7 and Radial gradient 4279aa9a-15c2-4435-9937-6848afc38618 under the color Editor 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 object that has a Background property.

When Gradient brush is selected, the Color eyedropper in the color Editor becomes a Gradient eyedropper Gradient eyedropper icon. When you hover over a color inside Blend or on the desktop while the Gradient eyedropper is selected, the color appears as a preview in the selected color stop. When you click on a color using the Gradient eyedropper, the color is applied to the selected gradient stop. In addition, you can drag the Gradient eyedropper over an existing gradient, either inside Blend or on the desktop, to apply the gradient to the existing object.

Dragging the Gradient eyedropper across an existing gradient duplicates the gradient in Blend

Dragging the Gradient eyedropper

When you apply a gradient to an object, gradient stop icons a3c9e482-e99b-4504-8a02-9507487d1791appear. 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 modify the offset value for a selected gradient stop by either dragging the stops along the gradient line, or by modifying the value in the Selected gradient stop offset field.

To reverse a gradient, click Reverse gradient stops Reverse gradient icon. You can go to the previous and next gradient stops by using the Select previous gradient stop and Select next gradient stop arrows Select previous/next gradient stop.

To apply a gradient to multiple objects, select all of the objects that you want to apply the gradient to, and then apply the gradient.

Click Show advanced properties de239c9d-42ce-4f5e-83b9-5f9924c0431f to view additional properties that can be modified directly in the Properties panel.

For linear gradient brush properties, you can modify the following properties in the Properties panel:

  • StartPoint   Specifies the coordinates of the start point of the linear gradient.

  • EndPoint   Specifies the coordinates of the end point of the linear gradient.

  • MappingMode   Specifies whether the gradient brush is absolutely positioned or positioned relative to the bounding box.

  • SpreadMethod   Specifies how to draw a gradient that starts or ends inside the bounding box. 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.

  • Opacity   Specifies the opacity of the gradient brush.

For radial gradient brush properties, you can modify the following properties in the Properties panel:

  • GradientOrigin   Specifies the coordinates for the beginning of a gradient.

  • Center   Specifies the outermost radial gradient.

  • RadiusX   Specifies the horizontal radius of the outermost circle of the radial gradient.

  • RadiusY   Specifies the vertical radius of the outermost circle of the radial gradient.

  • MappingMode   Specifies whether the gradient brush is absolutely positioned or positioned relative to the bounding box.

  • SpreadMethod   Specifies how to draw a gradient that starts or ends inside the bounding box. 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.

  • Opacity   Specifies the opacity of the gradient brush.

For both types of gradient brushes, you can also modify the RelativeTransform property in the Properties panel by clicking the following tabs in the RelativeTransform box and then modifying the associated values:

  • Translate

  • Rotate

  • Scale

  • Skew

  • Flip

You can also modify both linear and radial gradient brushes on the artboard by using the Gradient tool 8dc54a0d-02cc-44cd-b802-5a78309f4503 or the Brush Transform tool Brush Transform tool. For more information, see the "Gradient tool" and "Brush Transform tool" sections that follow.

To modify the fill, stroke, or opacity mask of a gradient brush that is applied to an object directly on the artboard, select the brush property in the Properties panel, and then select the Gradient tool 8dc54a0d-02cc-44cd-b802-5a78309f4503in the Tools panel.

TipTip

With the object selected on the artboard, press G to select the Gradient tool.

An arrow appears on the artboard that you can use to modify the gradient. The start point and end point of the arrow correspond to the gradient stops at either end of the color bar. The gradient stops are indicated by circles with blue borders and interior fills that are the same as the gradient.

Linear gradient arrow

Linear gradient arrow

Radial gradient arrow

Radial gradient arrow

Clicking a gradient stop selects it, and the selection is indicated by a bold blue border. Double-clicking the gradient stop displays the color picker, from which you can modify the color of the selected gradient stop.

Gradient color picker

You can add a gradient stop by clicking at any point on the arrow. You can remove a gradient stop by clicking the circle that indicates a gradient stop and dragging it away from the arrow.

You can also modify the gradient properties in the following ways:

  • Hold down the SHIFT key when you drag either the start point or the end point to constrain the movement along the straight line between the start point and the end point.

  • 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 a start point or end point to snap every 15 degrees.

  • Hold down the ALT key when you drag a start point or end point to move both endpoints at the same time, maintaining the position of the center point.

The Brush Transform tool Brush Transform tool modifies the RelativeTransform property of a brush resource, including the RelativeTransform for both linear and radial gradients. The Brush Transform tool modifies the brush that is selected in the Brushes panel and applied to the object that is selected on the artboard.

To modify the transform of a brush that is applied to an object directly on the artboard, select the brush property in the Properties panel, and then select the Brush Transform tool Brush Transform tool in the Tools panel.

TipTip

With the object selected on the artboard, press B to select the Brush Transform tool.

An adorner (a blue border) appears around the object. With the object selected with the Brush Transform tool, you can now modify the selected object in the following ways:

  • To move a brush, drag anywhere inside the object. This corresponds to the Transform tab on the RelativeTransform box in the Properties panel.

  • To rotate a brush, put your pointer outside any corner of the bounding outline around the object and drag when your pointer changes to a rotation handle 888cbf6b-c442-424d-977d-61d942703c4a. This corresponds to the Rotate tab on the RelativeTransform box in the Properties panel.

  • To rescale either a tile brush or radial gradient brush, put your pointer on any handle on the side or corner of the object, and then drag. This corresponds to the Scale tab on the RelativeTransform box in the Properties panel.

  • To skew a brush, put your pointer outside a side handle and drag when your pointer changes to skew handles 2be41f49-8a61-4966-bf08-598f4253b610. This corresponds to the Skew tab on the RelativeTransform box in the Properties panel.

You can also flip a transform. In the Properties panel, in the Brushes category, click Show advanced options de239c9d-42ce-4f5e-83b9-5f9924c0431f. In the RelativeTransform box, click the Flip tab, and then click Flip X axis or Flip Y axis.

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. Select one of the following:

  • 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 25182a96-9a69-478a-9cfe-5b360e6a9bea, Round Join 05fe4b1d-f584-4bd2-99b6-8bc2d735a89d, and Bevel Join f0c1ff71-7814-42ba-806b-7ea92d616e69. You can set the corner join style by using the StrokeLineJoin property under Appearance in the Properties panel.

    64381b5b-b70f-47a7-b298-4e4f4fe982a6
  • 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 25182a96-9a69-478a-9cfe-5b360e6a9bea, 2.2 05fe4b1d-f584-4bd2-99b6-8bc2d735a89d, and 4 f0c1ff71-7814-42ba-806b-7ea92d616e69. The size of the angle and the stroke thickness determine the visual effect of the miter limit.

    9bed7ef3-df8f-4844-9341-98d3f726f267
  • 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 25182a96-9a69-478a-9cfe-5b360e6a9bea, Round Cap 05fe4b1d-f584-4bd2-99b6-8bc2d735a89d, Square Cap f0c1ff71-7814-42ba-806b-7ea92d616e69, and Triangle Cap eb6fad93-f17e-4f62-a926-8c8651862891. You can set the end-cap style by using the StrokeEndLineCap or StrokeStartLineCap property under Appearance in the Properties panel.

    2e5bbb1b-f631-466d-b510-5a4bf824cc74
  • StrokeDashArray   StrokeDashArray is a stroke with a pattern of dashes and gaps. StrokeDashCap and StrokeDashOffset are properties that apply specifically to StrokeDashArray.

    The following image displays a single rectangle with a StrokeDashArray value of 5 4 (the first value specifies the length of the dash and the second value specifies the length of the gap), a StrokeDashCap value of Round, and a StrokeDashOffset (the distance within the dash pattern where a dash begins ) of 2.

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.

Method

Results

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.

a5f77efb-94c4-4746-9b51-3fcb35d530a1

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.

87ccf3e4-01f4-4b47-b77f-d2099e400983

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.

7c2aa173-830c-4444-b588-f725ea563077
Show: