LinearGradientBrush.MultiplyTransform Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Умножает объект Matrix, представляющий локальное геометрическое преобразование объекта LinearGradientBrush, на указанный объект Matrix, добавляя указанный объект Matrix.
Перегрузки
MultiplyTransform(Matrix, MatrixOrder) |
Умножает объект Matrix, представляющий локальное геометрическое преобразование объекта LinearGradientBrush, на указанный объект Matrix в заданном порядке. |
MultiplyTransform(Matrix) |
Умножает объект Matrix, представляющий локальное геометрическое преобразование объекта LinearGradientBrush, на указанный объект Matrix, добавляя указанный объект Matrix. |
MultiplyTransform(Matrix, MatrixOrder)
- Исходный код:
- LinearGradientBrush.cs
- Исходный код:
- LinearGradientBrush.cs
- Исходный код:
- LinearGradientBrush.cs
Умножает объект Matrix, представляющий локальное геометрическое преобразование объекта LinearGradientBrush, на указанный объект Matrix в заданном порядке.
public:
void MultiplyTransform(System::Drawing::Drawing2D::Matrix ^ matrix, System::Drawing::Drawing2D::MatrixOrder order);
public void MultiplyTransform (System.Drawing.Drawing2D.Matrix matrix, System.Drawing.Drawing2D.MatrixOrder order);
member this.MultiplyTransform : System.Drawing.Drawing2D.Matrix * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub MultiplyTransform (matrix As Matrix, order As MatrixOrder)
Параметры
- order
- MatrixOrder
Объект MatrixOrder, задающий порядок умножения двух матриц.
Примеры
Следующий пример кода предназначен для использования с Windows Forms, и для него требуется PaintEventArgse
OnPaint объект события . Код выполняет следующие действия.
Создает новый экземпляр LinearGradientBrush.
Рисует эллипс на экране с помощью этой кисти.
MultiplyTransform Вызывает метод для преобразования LinearGradientBrush.
Рисует эллипс на экране непосредственно под первым эллипсой с помощью преобразованной кисти.
Обратите внимание, что нижний эллипс растягивается в горизонтальном направлении, а градиент растягивается в соответствии с новой фигурой.
private:
void MultiplyTransformExample( PaintEventArgs^ e )
{
// Create a LinearGradientBrush.
Rectangle myRect = Rectangle(20,20,200,100);
LinearGradientBrush^ myLGBrush = gcnew LinearGradientBrush( myRect,Color::Blue,Color::Red,0.0f,true );
// Draw an ellipse to the screen using the LinearGradientBrush.
e->Graphics->FillEllipse( myLGBrush, myRect );
// Transform the LinearGradientBrush.
array<Point>^ transformArray = {Point(20,150),Point(400,150),Point(20,200)};
Matrix^ myMatrix = gcnew Matrix( myRect,transformArray );
myLGBrush->MultiplyTransform( myMatrix, MatrixOrder::Prepend );
// Draw a second ellipse to the screen using
// the transformed brush.
e->Graphics->FillEllipse( myLGBrush, 20, 150, 380, 50 );
}
private void MultiplyTransformExample(PaintEventArgs e)
{
// Create a LinearGradientBrush.
Rectangle myRect = new Rectangle(20, 20, 200, 100);
LinearGradientBrush myLGBrush = new LinearGradientBrush(
myRect, Color.Blue, Color.Red, 0.0f, true);
// Draw an ellipse to the screen using the LinearGradientBrush.
e.Graphics.FillEllipse(myLGBrush, myRect);
// Transform the LinearGradientBrush.
Point[] transformArray = { new Point(20, 150),
new Point(400,150), new Point(20, 200) };
Matrix myMatrix = new Matrix(myRect, transformArray);
myLGBrush.MultiplyTransform(
myMatrix,
MatrixOrder.Prepend);
// Draw a second ellipse to the screen using
// the transformed brush.
e.Graphics.FillEllipse(myLGBrush, 20, 150, 380, 50);
}
Public Sub MultiplyTransformExample(ByVal e As PaintEventArgs)
' Create a LinearGradientBrush.
Dim myRect As New Rectangle(20, 20, 200, 100)
Dim myLGBrush As New LinearGradientBrush(myRect, Color.Blue, _
Color.Red, 0.0F, True)
' Draw an ellipse to the screen using the LinearGradientBrush.
e.Graphics.FillEllipse(myLGBrush, myRect)
' Transform the LinearGradientBrush.
Dim transformArray As Point() = {New Point(20, 150), _
New Point(400, 150), New Point(20, 200)}
Dim myMatrix As New Matrix(myRect, transformArray)
myLGBrush.MultiplyTransform(myMatrix, MatrixOrder.Prepend)
' Draw a second ellipse to the screen using the transformed brush.
e.Graphics.FillEllipse(myLGBrush, 20, 150, 380, 50)
End Sub
Применяется к
MultiplyTransform(Matrix)
- Исходный код:
- LinearGradientBrush.cs
- Исходный код:
- LinearGradientBrush.cs
- Исходный код:
- LinearGradientBrush.cs
Умножает объект Matrix, представляющий локальное геометрическое преобразование объекта LinearGradientBrush, на указанный объект Matrix, добавляя указанный объект Matrix.
public:
void MultiplyTransform(System::Drawing::Drawing2D::Matrix ^ matrix);
public void MultiplyTransform (System.Drawing.Drawing2D.Matrix matrix);
member this.MultiplyTransform : System.Drawing.Drawing2D.Matrix -> unit
Public Sub MultiplyTransform (matrix As Matrix)
Параметры
Примеры
Пример см. в разделе MultiplyTransform.
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по