コード例 #1
0
ファイル: TifSpliter.cs プロジェクト: Amphora2015/DemoTest
        private void LoadImageList(String fileName, RasterImageList rasterImageList) {

            if (fileName == null || "".Equals(fileName))
            {
                return;
            }
            if (!File.Exists(fileName))
            {
                throw new FileNotFoundException();
            }
            RasterCodecs codec = new RasterCodecs();

            CodecsImageInfo info = codec.GetInformation(fileName,true);

            RasterPaintProperties paintProp = rasterImageList.PaintProperties;
            paintProp.PaintDisplayMode = RasterPaintDisplayModeFlags.ScaleToGray;

            int lastPage = info.TotalPages;
            RasterImage image =codec.Load(fileName,0,CodecsLoadByteOrder.BgrOrGray,1,lastPage);
            rasterImageList.Items.Clear();
            int totalCount = image.PageCount;
            for (int i = 1; i <= totalCount; ++i)
            {
                RasterImageListItem imageItem = new RasterImageListItem(image, i, "Page " + i.ToString());
                rasterImageList.Items.Add(imageItem);

            }

        }
コード例 #2
0
ファイル: TifSpliter.cs プロジェクト: GDuggi/DemoTest
        private void LoadImageList(String fileName, RasterImageList rasterImageList)
        {
            if (fileName == null || "".Equals(fileName))
            {
                return;
            }
            if (!File.Exists(fileName))
            {
                throw new FileNotFoundException();
            }
            RasterCodecs codec = new RasterCodecs();

            CodecsImageInfo info = codec.GetInformation(fileName, true);

            RasterPaintProperties paintProp = rasterImageList.PaintProperties;

            paintProp.PaintDisplayMode = RasterPaintDisplayModeFlags.ScaleToGray;

            int         lastPage = info.TotalPages;
            RasterImage image    = codec.Load(fileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, lastPage);

            rasterImageList.Items.Clear();
            int totalCount = image.PageCount;

            for (int i = 1; i <= totalCount; ++i)
            {
                RasterImageListItem imageItem = new RasterImageListItem(image, i, "Page " + i.ToString());
                rasterImageList.Items.Add(imageItem);
            }
        }
コード例 #3
0
        public static Control CreateControl(string zoomPolicy, Font font, Size layoutSize)
        {
            switch (zoomPolicy)
            {
            case "RasterImageListZoomPolicy":
                RasterImageList imageList1 = new RasterImageList();
                imageList1.Dock = DockStyle.Fill;
                using (RasterCodecs codecs = new RasterCodecs())
                {
                    MemoryStream stream1 = new MemoryStream();
                    Properties.Resources.Accnt.Save(stream1, ImageFormat.Png);
                    stream1.Position = 0;
                    RasterImage image1 = codecs.Load(stream1);
                    stream1.Close();

                    stream1 = new MemoryStream();
                    Properties.Resources.Bill.Save(stream1, ImageFormat.Png);
                    stream1.Position = 0;
                    RasterImage image2 = codecs.Load(stream1);
                    stream1.Close();

                    stream1 = new MemoryStream();
                    Properties.Resources.Check.Save(stream1, ImageFormat.Png);
                    stream1.Position = 0;
                    RasterImage image3 = codecs.Load(stream1);
                    stream1.Close();

                    stream1 = new MemoryStream();
                    Properties.Resources.Cust.Save(stream1, ImageFormat.Png);
                    stream1.Position = 0;
                    RasterImage image4 = codecs.Load(stream1);
                    stream1.Close();
                    imageList1.Items.Add(new RasterImageListItem(image1, 1, "aaa"));
                    imageList1.Items.Add(new RasterImageListItem(image2, 1, "bbb"));
                    imageList1.Items.Add(new RasterImageListItem(image3, 1, "ccc"));
                    imageList1.Items.Add(new RasterImageListItem(image4, 1, "ddd"));
                }
                return(imageList1);

            case "RasterImageViewerZoomPolicy":
                RasterImageViewer imageViewer1 = new RasterImageViewer();
                imageViewer1.Dock = DockStyle.Fill;
                using (RasterCodecs codecs = new RasterCodecs())
                {
                    MemoryStream stream1 = new MemoryStream();
                    Properties.Resources.Forest.Save(stream1, ImageFormat.Png);
                    stream1.Position = 0;
                    RasterImage image1 = codecs.Load(stream1);
                    stream1.Close();
                    imageViewer1.Image = image1;
                }
                return(imageViewer1);

            default:
                break;
            }
            return(null);
        }
コード例 #4
0
    public MyForm3(string title)
    {
        Text = title;
        // Set the size of the form
        Size = new Size(400, 200);

        // Create a new RasterImageList control
        imageList               = new RasterImageList();
        imageList.Dock          = DockStyle.Fill;
        imageList.SelectionMode = RasterImageListSelectionMode.Single;
        imageList.Size          = Size;
        Controls.Add(imageList);
        imageList.BringToFront();

        codecs = new RasterCodecs();

        // Create three items
        string imagesPath = LeadtoolsExamples.Common.ImagesPath.Path;

        for (int i = 0; i < 3; i++)
        {
            // Load the image
            int                 index         = i + 1;
            string              imageFileName = imagesPath + "Image" + index.ToString() + ".cmp";
            RasterImage         image         = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1);
            RasterImageListItem item          = new RasterImageListItem(image, 1, "Item" + index.ToString());

            // Select the first item
            if (i == 0)
            {
                item.Selected = true;
            }

            // Add the item to the image list
            imageList.Items.Add(item);
        }

        // Change the item size
        imageList.ItemSize = new Size(200, 200);

        // Change the item image size
        imageList.ItemImageSize = new Size(120, 120);

        // We are going to draw the items ourselves
        imageList.ViewStyle = RasterImageListViewStyle.OwnerDraw;

        // Add a handler to the DrawItem event
        imageList.DrawItem += new EventHandler <RasterImageListDrawItemEventArgs>(rasterImageList_DrawItem);

        // Add the RasterImageList to the control collection.
        Controls.Add(imageList);
    }
コード例 #5
0
    private void rasterImageList_DrawItem(object sender, RasterImageListDrawItemEventArgs e)
    {
        RasterImageListItem item      = e.Item;
        RasterImageList     imageList = item.ImageList;
        Graphics            g         = e.Graphics;

        // get the item rectangle
        Rectangle rc = imageList.GetItemRectangle(item);

        // sanity check
        if (rc.IsEmpty)
        {
            return;
        }

        // we want to draw a 1 pixel black rectangle around the item
        // then we fill the inside of the rectangle with white if the item
        // is not selected or lightgray if it is

        g.DrawRectangle(Pens.Black, rc.Left, rc.Top, rc.Width - 1, rc.Height - 1);

        // we used up 1 pixel
        rc.Inflate(-1, -1);

        Brush b;

        if (item.Selected)
        {
            b = Brushes.LightGray;
        }
        else
        {
            b = Brushes.White;
        }
        g.FillRectangle(b, rc);

        // calculate the rectangles for image and text
        if (imageList.ShowItemText)
        {
            // text is visible
            // draw the text at the bottom of the item
            int       textHeight = (int)(g.MeasureString("WWW", imageList.Font).Height + 4);
            Rectangle textRect   = Rectangle.FromLTRB(
                rc.Left,
                rc.Bottom - textHeight,
                rc.Right,
                rc.Bottom);

            if (!textRect.IsEmpty)
            {
                StringFormat sf = new StringFormat();
                sf.Alignment     = StringAlignment.Center;
                sf.LineAlignment = StringAlignment.Center;
                sf.Trimming      = StringTrimming.EllipsisPath;
                sf.FormatFlags   = StringFormatFlags.NoWrap;

                g.DrawString(
                    item.Text,
                    imageList.Font,
                    Brushes.Black,
                    textRect,
                    sf);
                sf.Dispose();

                // we need to update the item rectangle for the space
                // we used up to draw the text
                rc.Height -= textRect.Height;
            }
        }

        // rc is the image rectangle
        if (!rc.IsEmpty)
        {
            // now rc holds the rectangle to draw the image into

            // first, set the correct page
            int savePage = -1;
            if (item.Image.Page != item.Page)
            {
                // the page is different

                // save current image page so we can set it back when we are done
                savePage = item.Image.Page;

                // disable the image events, we are going to set the page back,
                // so we do not want anybody subscribing to this image Changed
                // event to know we changed it.
                item.Image.DisableEvents();

                // set new page
                item.Image.Page = item.Page;
            }

            try
            {
                // we want to center the image into whatever left of rc
                Size      itemImageSize = imageList.ItemImageSize;
                Rectangle imageRect     = new Rectangle(
                    rc.Left + (rc.Width - itemImageSize.Width) / 2,
                    rc.Top + (rc.Height - itemImageSize.Height) / 2,
                    itemImageSize.Width,
                    itemImageSize.Height);

                // we want to keep the aspect ratio
                imageRect = RasterImageList.GetFixedAspectRatioImageRectangle(
                    item.Image.ImageWidth,
                    item.Image.ImageHeight,
                    imageRect);

                // draw the image
                item.Image.Paint(g, imageRect, imageList.PaintProperties);

                // finally, draw a black rectangle around the image
                imageRect.Inflate(1, 1);
                g.DrawRectangle(
                    Pens.Black,
                    imageRect.Left,
                    imageRect.Top,
                    imageRect.Width - 1,
                    imageRect.Height - 1);
            }
            finally
            {
                // reset the old page
                if (savePage != -1)
                {
                    item.Image.Page = savePage;

                    // re-enable the events
                    item.Image.EnableEvents();
                }
            }
        }
    }