예제 #1
0
    static RectangleF GetOverlayRectF(Origin.Grade iGrade)

    {
        Rectangle overlayRect = GetOverlayRect(iGrade);

        return(new RectangleF(overlayRect.X, overlayRect.Y, overlayRect.Width, overlayRect.Height));
    }
예제 #2
0
        public void FillImageList()
        {
            Size imageSize1 = ilEnh.ImageSize;
            int  width1     = imageSize1.Width;

            imageSize1 = ilEnh.ImageSize;
            int            height1        = imageSize1.Height;
            ExtendedBitmap extendedBitmap = new ExtendedBitmap(width1, height1);

            ilEnh.Images.Clear();
            int num = mySet.Enhancements.Length - 1;

            for (int index = 0; index <= num; ++index)
            {
                IEnhancement enhancement = DatabaseAPI.Database.Enhancements[mySet.Enhancements[index]];
                if (enhancement.ImageIdx > -1)
                {
                    Origin.Grade gfxGrade = I9Gfx.ToGfxGrade(enhancement.TypeID);
                    extendedBitmap.Graphics.Clear(Color.White);
                    Graphics graphics = extendedBitmap.Graphics;
                    I9Gfx.DrawEnhancement(ref graphics, DatabaseAPI.Database.Enhancements[mySet.Enhancements[index]].ImageIdx, gfxGrade);
                    ilEnh.Images.Add((Image)extendedBitmap.Bitmap);
                }
                else
                {
                    ImageList.ImageCollection images = ilEnh.Images;
                    Size imageSize2 = ilEnh.ImageSize;
                    int  width2     = imageSize2.Width;
                    imageSize2 = ilEnh.ImageSize;
                    int    height2 = imageSize2.Height;
                    Bitmap bitmap  = new Bitmap(width2, height2);
                    images.Add((Image)bitmap);
                }
            }
        }
예제 #3
0
    static RectangleF GetOverlayRectF(Origin.Grade iGrade)

    {
        Rectangle overlayRect = I9Gfx.GetOverlayRect(iGrade);

        return(new RectangleF((float)overlayRect.X, (float)overlayRect.Y, (float)overlayRect.Width, (float)overlayRect.Height));
    }
예제 #4
0
    public static void DrawEnhancementAt(
        ref Graphics iTarget,
        Rectangle iDest,
        int iImageIndex,
        Origin.Grade iGrade,
        ImageAttributes imageAttributes)
    {
        if (iDest.Width > 30)
        {
            iDest.Width = 30;
        }
        if (iDest.Height > 30)
        {
            iDest.Height = 30;
        }
        if (iImageIndex < 0 | iImageIndex >= Enhancements.Length)
        {
            return;
        }
        Graphics  graphics    = iTarget;
        Bitmap    bitmap      = Borders.Bitmap;
        Rectangle destRect    = iDest;
        Rectangle overlayRect = GetOverlayRect(iGrade);
        int       x           = overlayRect.X;

        overlayRect = GetOverlayRect(iGrade);
        int             y         = overlayRect.Y;
        ImageAttributes imageAttr = imageAttributes;

        graphics.DrawImage(bitmap, destRect, x, y, 30, 30, GraphicsUnit.Pixel, imageAttr);
        iTarget.DrawImage(Enhancements[iImageIndex], iDest, 0, 0, 30, 30, GraphicsUnit.Pixel, imageAttributes);
    }
예제 #5
0
 public static void DrawEnhancementAt(
     ref Graphics iTarget,
     Rectangle iDest,
     int iImageIndex,
     Origin.Grade iGrade)
 {
     if (iDest.Width > 30)
     {
         iDest.Width = 30;
     }
     if (iDest.Height > 30)
     {
         iDest.Height = 30;
     }
     if (iImageIndex < 0 || iImageIndex >= Enhancements.Length)
     {
         return;
     }
     iTarget.PixelOffsetMode    = PixelOffsetMode.HighQuality;
     iTarget.CompositingMode    = CompositingMode.SourceOver;
     iTarget.CompositingQuality = CompositingQuality.HighQuality;
     iTarget.InterpolationMode  = InterpolationMode.HighQualityBicubic;
     iTarget.SmoothingMode      = SmoothingMode.HighQuality;
     iTarget.TextRenderingHint  = TextRenderingHint.ClearTypeGridFit;
     iTarget.PageUnit           = GraphicsUnit.Pixel;
     iTarget.DrawImage(Borders.Bitmap, iDest, GetOverlayRect(iGrade), GraphicsUnit.Pixel);
     iTarget.DrawImage(Enhancements[iImageIndex], iDest, new Rectangle(0, 0, 30, 30), GraphicsUnit.Pixel);
 }
예제 #6
0
 public static Rectangle GetOverlayRect(Origin.Grade iGrade)
 {
     if (iGrade == Origin.Grade.None)
     {
         iGrade = Origin.Grade.HO;
     }
     return(new Rectangle(OriginIndex * 30, (int)iGrade * 30, 30, 30));
 }
예제 #7
0
 public static void DrawEnhancement(ref Graphics iTarget, int iImageIndex, Origin.Grade iGrade)
 {
     iTarget.PixelOffsetMode    = PixelOffsetMode.HighQuality;
     iTarget.CompositingMode    = CompositingMode.SourceOver;
     iTarget.CompositingQuality = CompositingQuality.HighQuality;
     iTarget.InterpolationMode  = InterpolationMode.HighQualityBicubic;
     iTarget.SmoothingMode      = SmoothingMode.HighQuality;
     iTarget.TextRenderingHint  = TextRenderingHint.ClearTypeGridFit;
     iTarget.PageUnit           = GraphicsUnit.Pixel;
     iTarget.DrawImage(Borders.Bitmap, iTarget.ClipBounds, GetOverlayRectF(iGrade), GraphicsUnit.Pixel);
     iTarget.DrawImage(Enhancements[iImageIndex], iTarget.ClipBounds, new RectangleF(0.0f, 0.0f, 30f, 30f), GraphicsUnit.Pixel);
 }
예제 #8
0
    public static void DrawFlippingEnhancement(
        ref Graphics iTarget,
        Rectangle iDest,
        float iSize,
        int iImageIndex,
        Origin.Grade iGrade)
    {
        Rectangle iDest1 = iDest;

        iDest1.Width = (int)(iDest1.Width * (double)iSize);
        iDest1.X    += (iDest.Width - iDest1.Width) / 2;
        DrawEnhancementAt(ref iTarget, iDest1, iImageIndex, iGrade);
    }
예제 #9
0
 public static void DrawEnhancementAt(
     ref Graphics iTarget,
     Rectangle iDest,
     int iImageIndex,
     Origin.Grade iGrade)
 {
     if (iDest.Width > 30)
     {
         iDest.Width = 30;
     }
     if (iDest.Height > 30)
     {
         iDest.Height = 30;
     }
     if (iImageIndex < 0 || iImageIndex >= Enhancements.Length)
     {
         return;
     }
     iTarget.DrawImage(Borders.Bitmap, iDest, GetOverlayRect(iGrade), GraphicsUnit.Pixel);
     iTarget.DrawImage(Enhancements[iImageIndex], iDest, new Rectangle(0, 0, 30, 30), GraphicsUnit.Pixel);
 }
예제 #10
0
        public void FillImageList()
        {
            ExtendedBitmap extendedBitmap = new ExtendedBitmap(this.ilEnh.ImageSize.Width, this.ilEnh.ImageSize.Height);

            this.ilEnh.Images.Clear();
            int num = this.mySet.Enhancements.Length - 1;

            for (int index = 0; index <= num; index++)
            {
                IEnhancement enhancement = DatabaseAPI.Database.Enhancements[this.mySet.Enhancements[index]];
                if (enhancement.ImageIdx > -1)
                {
                    Origin.Grade gfxGrade = I9Gfx.ToGfxGrade(enhancement.TypeID);
                    extendedBitmap.Graphics.Clear(Color.White);
                    Graphics graphics = extendedBitmap.Graphics;
                    I9Gfx.DrawEnhancement(ref graphics, DatabaseAPI.Database.Enhancements[this.mySet.Enhancements[index]].ImageIdx, gfxGrade);
                    this.ilEnh.Images.Add(extendedBitmap.Bitmap);
                }
                else
                {
                    this.ilEnh.Images.Add(new Bitmap(this.ilEnh.ImageSize.Width, this.ilEnh.ImageSize.Height));
                }
            }
        }
예제 #11
0
 public static void DrawEnhancement(ref Graphics iTarget, int iImageIndex, Origin.Grade iGrade)
 {
     iTarget.DrawImage(Borders.Bitmap, iTarget.ClipBounds, GetOverlayRectF(iGrade), GraphicsUnit.Pixel);
     iTarget.DrawImage(Enhancements[iImageIndex], iTarget.ClipBounds, new RectangleF(0.0f, 0.0f, 30f, 30f), GraphicsUnit.Pixel);
 }
예제 #12
0
 public static void DrawEnhancementAt(ref Graphics iTarget, Rectangle iDest, int iImageIndex, Origin.Grade iGrade, ImageAttributes imageAttributes)
 {
     if (iDest.Width > 30)
     {
         iDest.Width = 30;
     }
     if (iDest.Height > 30)
     {
         iDest.Height = 30;
     }
     if (!(iImageIndex < 0 | iImageIndex >= I9Gfx.Enhancements.Length))
     {
         iTarget.DrawImage(I9Gfx.Borders.Bitmap, iDest, I9Gfx.GetOverlayRect(iGrade).X, I9Gfx.GetOverlayRect(iGrade).Y, 30, 30, GraphicsUnit.Pixel, imageAttributes);
         iTarget.DrawImage(I9Gfx.Enhancements[iImageIndex], iDest, 0, 0, 30, 30, GraphicsUnit.Pixel, imageAttributes);
     }
 }
예제 #13
0
    public static void DrawFlippingEnhancement(ref Graphics iTarget, Rectangle iDest, float iSize, int iImageIndex, Origin.Grade iGrade)
    {
        Rectangle iDest2 = iDest;

        iDest2.Width = (int)((float)iDest2.Width * iSize);
        iDest2.X    += (iDest.Width - iDest2.Width) / 2;
        I9Gfx.DrawEnhancementAt(ref iTarget, iDest2, iImageIndex, iGrade);
    }