本文整理匯總了C#中System.Drawing.Drawing2D.LinearGradientBrush.ResetTransform方法的典型用法代碼示例。如果您正苦於以下問題:C# LinearGradientBrush.ResetTransform方法的具體用法?C# LinearGradientBrush.ResetTransform怎麽用?C# LinearGradientBrush.ResetTransform使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Drawing.Drawing2D.LinearGradientBrush
的用法示例。
在下文中一共展示了LinearGradientBrush.ResetTransform方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: Transform_Operations
public void Transform_Operations ()
{
LinearGradientBrush lgb = new LinearGradientBrush (rect, c1, c2, 45f);
Matrix clone = lgb.Transform.Clone ();
Matrix mul = clone.Clone ();
clone.Multiply (mul, MatrixOrder.Append);
lgb.MultiplyTransform (mul, MatrixOrder.Append);
Assert.AreEqual (lgb.Transform, clone, "Multiply/Append");
clone.Multiply (mul, MatrixOrder.Prepend);
lgb.MultiplyTransform (mul, MatrixOrder.Prepend);
Assert.AreEqual (lgb.Transform, clone, "Multiply/Prepend");
clone.Rotate (45, MatrixOrder.Append);
lgb.RotateTransform (45, MatrixOrder.Append);
Assert.AreEqual (lgb.Transform, clone, "Rotate/Append");
clone.Rotate (45, MatrixOrder.Prepend);
lgb.RotateTransform (45, MatrixOrder.Prepend);
Assert.AreEqual (lgb.Transform, clone, "Rotate/Prepend");
clone.Scale (0.25f, 2, MatrixOrder.Append);
lgb.ScaleTransform (0.25f, 2, MatrixOrder.Append);
Assert.AreEqual (lgb.Transform, clone, "Scale/Append");
clone.Scale (0.25f, 2, MatrixOrder.Prepend);
lgb.ScaleTransform (0.25f, 2, MatrixOrder.Prepend);
Assert.AreEqual (lgb.Transform, clone, "Scale/Prepend");
clone.Translate (10, 20, MatrixOrder.Append);
lgb.TranslateTransform (10, 20, MatrixOrder.Append);
Assert.AreEqual (lgb.Transform, clone, "Translate/Append");
clone.Translate (30, 40, MatrixOrder.Prepend);
lgb.TranslateTransform (30, 40, MatrixOrder.Prepend);
Assert.AreEqual (lgb.Transform, clone, "Translate/Prepend");
clone.Reset ();
lgb.ResetTransform ();
Assert.AreEqual (lgb.Transform, clone, "Reset");
}
示例2: Transform_Operations_OnScalableAngle
public void Transform_Operations_OnScalableAngle ()
{
LinearGradientBrush lgb = new LinearGradientBrush (rect, c1, c2, 360f, true);
Matrix clone = lgb.Transform.Clone ();
Matrix mul = clone.Clone ();
Matrix m = new Matrix ();
m.Scale (2, 1);
m.Translate (rect.Width, rect.Height);
m.Rotate (30f);
clone.Multiply (mul, MatrixOrder.Append);
lgb.MultiplyTransform (mul, MatrixOrder.Append);
Assert.AreEqual (lgb.Transform, clone, "Multiply/Append");
clone.Multiply (mul, MatrixOrder.Prepend);
lgb.MultiplyTransform (mul, MatrixOrder.Prepend);
Assert.AreEqual (lgb.Transform, clone, "Multiply/Prepend");
clone.Rotate (45, MatrixOrder.Append);
lgb.RotateTransform (45, MatrixOrder.Append);
Assert.AreEqual (lgb.Transform, clone, "Rotate/Append");
clone.Rotate (45, MatrixOrder.Prepend);
lgb.RotateTransform (45, MatrixOrder.Prepend);
Assert.AreEqual (lgb.Transform, clone, "Rotate/Prepend");
clone.Scale (0.25f, 2, MatrixOrder.Append);
lgb.ScaleTransform (0.25f, 2, MatrixOrder.Append);
Assert.AreEqual (lgb.Transform, clone, "Scale/Append");
clone.Scale (0.25f, 2, MatrixOrder.Prepend);
lgb.ScaleTransform (0.25f, 2, MatrixOrder.Prepend);
Assert.AreEqual (lgb.Transform, clone, "Scale/Prepend");
clone.Translate (10, 20, MatrixOrder.Append);
lgb.TranslateTransform (10, 20, MatrixOrder.Append);
Assert.AreEqual (lgb.Transform, clone, "Translate/Append");
clone.Translate (30, 40, MatrixOrder.Prepend);
lgb.TranslateTransform (30, 40, MatrixOrder.Prepend);
Assert.AreEqual (lgb.Transform, clone, "Translate/Prepend");
clone.Reset ();
lgb.ResetTransform ();
Assert.AreEqual (lgb.Transform, clone, "Reset");
}
示例3: ResetTransform
public void ResetTransform ()
{
LinearGradientBrush lgb = new LinearGradientBrush (pt1, pt2, c1, c2);
Assert.IsFalse (lgb.Transform.IsIdentity, "Transform.IsIdentity");
lgb.ResetTransform ();
Assert.IsTrue (lgb.Transform.IsIdentity, "Reset.IsIdentity");
}
示例4: Rectangle
public void Rectangle ()
{
LinearGradientBrush lgb = new LinearGradientBrush (rect, c1, c2, 0f);
CheckDefaultRectangle ("Original", lgb.Rectangle);
lgb.MultiplyTransform (new Matrix (2, 0, 0, 2, 2, 2));
CheckDefaultRectangle ("Multiply", lgb.Rectangle);
lgb.ResetTransform ();
CheckDefaultRectangle ("Reset", lgb.Rectangle);
lgb.RotateTransform (90);
CheckDefaultRectangle ("Rotate", lgb.Rectangle);
lgb.ScaleTransform (4, 0.25f);
CheckDefaultRectangle ("Scale", lgb.Rectangle);
lgb.TranslateTransform (-10, -20);
CheckDefaultRectangle ("Translate", lgb.Rectangle);
lgb.SetBlendTriangularShape (0.5f);
CheckDefaultRectangle ("SetBlendTriangularShape", lgb.Rectangle);
lgb.SetSigmaBellShape (0.5f);
CheckDefaultRectangle ("SetSigmaBellShape", lgb.Rectangle);
}
示例5: DrawShadowBitmap
public static Bitmap DrawShadowBitmap(int width, int height, int borderRadius, int blur, int spread, Color color)
{
int ex = blur + spread;
int w = width + ex * 2;
int h = height + ex * 2;
int solidW = width + spread * 2;
int solidH = height + spread * 2;
var bitmap = new Bitmap(w, h);
Graphics g = Graphics.FromImage(bitmap);
// fill background
g.FillRectangle(new SolidBrush(color)
, blur, blur, width + spread * 2 + 1, height + spread * 2 + 1);
// +1 to fill the gap
if (blur > 0)
{
// four dir gradiant
{
// left
var brush = new LinearGradientBrush(new Point(0, 0), new Point(blur, 0), Color.Transparent, color);
// will thorw ArgumentException
// brush.WrapMode = WrapMode.Clamp;
g.FillRectangle(brush, 0, blur, blur, solidH);
// up
brush.RotateTransform(90);
g.FillRectangle(brush, blur, 0, solidW, blur);
// right
// make sure parttern is currect
brush.ResetTransform();
brush.TranslateTransform(w % blur, h % blur);
brush.RotateTransform(180);
g.FillRectangle(brush, w - blur, blur, blur, solidH);
// down
brush.RotateTransform(90);
g.FillRectangle(brush, blur, h - blur, solidW, blur);
}
// four corner
{
var gp = new GraphicsPath();
//gp.AddPie(0,0,blur*2,blur*2, 180, 90);
gp.AddEllipse(0, 0, blur * 2, blur * 2);
var pgb = new PathGradientBrush(gp);
pgb.CenterColor = color;
pgb.SurroundColors = new[] { Color.Transparent };
pgb.CenterPoint = new Point(blur, blur);
// lt
g.FillPie(pgb, 0, 0, blur * 2, blur * 2, 180, 90);
// rt
var matrix = new Matrix();
matrix.Translate(w - blur * 2, 0);
pgb.Transform = matrix;
//pgb.Transform.Translate(w-blur*2, 0);
g.FillPie(pgb, w - blur * 2, 0, blur * 2, blur * 2, 270, 90);
// rb
matrix.Translate(0, h - blur * 2);
pgb.Transform = matrix;
g.FillPie(pgb, w - blur * 2, h - blur * 2, blur * 2, blur * 2, 0, 90);
// lb
matrix.Reset();
matrix.Translate(0, h - blur * 2);
pgb.Transform = matrix;
g.FillPie(pgb, 0, h - blur * 2, blur * 2, blur * 2, 90, 90);
}
}
//
return bitmap;
}
示例6: PaintView11
void PaintView11(Graphics g)
{
// The emsize is calculated here until it can be fixed.
float emsize = 24;
var myRect = new RectangleF(10, 10, 200, 200);
LinearGradientBrush myBrush = new LinearGradientBrush(myRect, Color.Black, Color.Black, 0 , false);
ColorBlend cb = new ColorBlend();
cb.Positions = new[] {0, 1/6f, 2/6f, 3/6f, 4/6f, 5/6f, 1};
cb.Colors = new[] {Color.Red, Color.Orange, Color.Yellow, Color.Green, Color.Blue, Color.Indigo, Color.Violet};
myBrush.InterpolationColors= cb;
// rotate
myBrush.RotateTransform(45);
//Font myFont = new Font("Times New Roman", emsize, FontStyle.Bold);
Font myFont = new Font("Helvetica", emsize, FontStyle.Bold);
g.DrawString("Look at this text! It is Gradiented!!", myFont, myBrush, myRect);
// reset and rotate again
myBrush.ResetTransform();
myBrush.RotateTransform(-45);
g.DrawString("Look at this text! It is Gradiented!!", myFont, myBrush, 10, 250);
}
示例7: genPlayButton
Image genPlayButton()
{
Image play = new Bitmap(132, 32);
Image icon = Bitmap.FromFile(Application.StartupPath + "\\icons\\play.png");
ColorBlend blend = new ColorBlend();
blend.Positions = new float[] { 0, 0.5f, 1 };
blend.Colors = new Color[] { Color.FromArgb(100, Color.Gray), Color.FromArgb(192, 107, 107, 107), Color.FromArgb(192, 159, 159, 159) };
LinearGradientBrush gradientBrush = new LinearGradientBrush(new Rectangle(0, 0, 1, 1), Color.Black, Color.Black, 0, false);
gradientBrush.InterpolationColors = blend;
gradientBrush.ResetTransform();
gradientBrush.ScaleTransform(64, 64);
gradientBrush.RotateTransform(90);
Graphics gfx = Graphics.FromImage(play);
gfx.SmoothingMode = SmoothingMode.HighQuality;
gfx.FillPie(gradientBrush, new Rectangle(0, 0, 132, 64), 180, 180); //background
gfx.DrawPie(new Pen(Color.Black, 4), new Rectangle(2, 2, 128, 56), 180, 180); //outline
gfx.DrawImage(icon, 50, 0); //icon
gradientBrush.Dispose();
gfx.Dispose();
icon.Dispose();
return play;
}