用纹理图像更改纹理颜色

时间:2013-05-12 19:21:37

标签: c# textures

我正在使用自定义表单做一个滑块,我发现了一个简单的代码,问题是它使用带有库存颜色的矩形,而我需要一个图像。

以下是绘制纹理的代码部分:

    // Draw the Thumb Object
    using (SolidBrush brush = new SolidBrush(Color.Black))
    {
        if (ThumbFocused)
            brush.Color = Color.Green;
        if (ThumbDragging)
            brush.Color = Color.Gray;
        e.Graphics.FillRectangle(brush, this.Thumb);
    }

    //Draw Focus
    if (this.Focused && this.ShowFocusCues)
        ControlPaint.DrawFocusRectangle(e.Graphics, this.ClientRectangle);

}

我想在此代码中使用图片而不是颜色:

brush = new SolidBrush(Color.Black);

例如:brush = new SolidBrush(PICTURE);

接下来也是。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

您需要使用以下内容:

Rectangle exampleRectangle = new Rectangle();
exampleRectangle.Width = 75;
exampleRectangle.Height = 75;

// Create an ImageBrush and use it to 
// paint the rectangle.
ImageBrush myBrush = new ImageBrush();
myBrush.ImageSource = 
    new BitmapImage(new Uri(@"sampleImages\pinkcherries.jpg", UriKind.Relative));

exampleRectangle.Fill = myBrush;

请参阅来源:http://msdn.microsoft.com/en-us/library/aa970904.aspx