ConvertColor() static private method

static private ConvertColor ( java color ) : Color
color java
return Color
コード例 #1
0
 public override java.awt.Graphics2D createGraphics()
 {
     //Graphics g = Graphics.FromImage(bitmap);
     // HACK for off-screen images we don't want ClearType or anti-aliasing
     // TODO I'm sure Java 2D has a way to control text rendering quality, we should honor that
     //g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit;
     return(new BitmapGraphics(bitmap, getFont(), J2C.ConvertColor(getForeground()), J2C.ConvertColor(getBackground())));
 }
コード例 #2
0
ファイル: graphics.cs プロジェクト: maikebing/IKVM.NetCore
        public override void setPaint(java.awt.Paint paint)
        {
            if (paint is java.awt.Color)
            {
                setColor((java.awt.Color)paint);
                return;
            }

            if (paint == null || this.javaPaint == paint)
            {
                return;
            }
            this.javaPaint = paint;

            if (paint is java.awt.GradientPaint)
            {
                java.awt.GradientPaint gradient = (java.awt.GradientPaint)paint;
                LinearGradientBrush    linear;
                if (gradient.isCyclic())
                {
                    linear = new LinearGradientBrush(
                        J2C.ConvertPoint(gradient.getPoint1()),
                        J2C.ConvertPoint(gradient.getPoint2()),
                        J2C.ConvertColor(gradient.getColor1()),
                        J2C.ConvertColor(gradient.getColor2()));
                }
                else
                {
                    //HACK because .NET does not support continue gradient like Java else Tile Gradient
                    //that we receize the rectangle very large (factor z) and set 4 color values
                    // a exact solution will calculate the size of the Graphics with the current transform
                    Color       color1 = J2C.ConvertColor(gradient.getColor1());
                    Color       color2 = J2C.ConvertColor(gradient.getColor2());
                    float       x1     = (float)gradient.getPoint1().getX();
                    float       x2     = (float)gradient.getPoint2().getX();
                    float       y1     = (float)gradient.getPoint1().getY();
                    float       y2     = (float)gradient.getPoint2().getY();
                    float       diffX  = x2 - x1;
                    float       diffY  = y2 - y1;
                    const float z      = 60; //HACK zoom factor, with a larger factor .NET will make the gradient wider.
                    linear = new LinearGradientBrush(
                        new PointF(x1 - z * diffX, y1 - z * diffY),
                        new PointF(x2 + z * diffX, y2 + z * diffY),
                        color1,
                        color1);
                    ColorBlend colorBlend = new ColorBlend(4);
                    Color[]    colors     = colorBlend.Colors;
                    colors[0] = colors[1] = color1;
                    colors[2] = colors[3] = color2;
                    float[] positions = colorBlend.Positions;
                    positions[1] = z / (2 * z + 1);
                    positions[2] = (z + 1) / (2 * z + 1);
                    positions[3] = 1.0f;
                    linear.InterpolationColors = colorBlend;
                }
                linear.WrapMode = WrapMode.TileFlipXY;
                brush           = linear;
                pen.Brush       = brush;
                return;
            }

            if (paint is java.awt.TexturePaint)
            {
                java.awt.TexturePaint texture = (java.awt.TexturePaint)paint;
                brush = new TextureBrush(
                    J2C.ConvertImage(texture.getImage()),
                    J2C.ConvertRect(texture.getAnchorRect()));
                pen.Brush = brush;
                return;
            }

            throw new NotImplementedException("setPaint(" + paint.GetType().FullName + ")");
        }
コード例 #3
0
ファイル: graphics.cs プロジェクト: maikebing/IKVM.NetCore
 internal ComponentGraphics(Control control, java.awt.Color fgColor, java.awt.Color bgColor, java.awt.Font font)
     : base(control.CreateGraphics(), font, J2C.ConvertColor(fgColor), J2C.ConvertColor(bgColor))
 {
     this.control = control;
 }
コード例 #4
0
ファイル: graphics.cs プロジェクト: maikebing/IKVM.NetCore
 public override void setBackground(java.awt.Color color)
 {
     bgcolor = J2C.ConvertColor(color);
 }