Exemple #1
0
        /// <summary>
        /// Removes staple marks
        /// </summary>
        /// <param name="bitmap">Bitmap</param>
        /// <returns></returns>
        public static Bitmap RemoveStapleMarks(Bitmap bitmap)
        {
            Bitmap           resultImage = bitmap;
            GdPictureImaging image       = new GdPictureImaging();

            int imageId = image.CreateGdPictureImageFromBitmap(bitmap);

            try
            {
                if (imageId > 0)
                {
                    if (image.GetBitDepth(imageId) != 1)
                    {
                        image.ConvertTo1BppAT(imageId);
                    }

                    image.RemoveStapleMark(imageId);
                    resultImage = image.GetBitmapFromGdPictureImage(imageId).CloneSmart(image.GetPixelFormat(imageId));
                }
            }
            catch
            {
            }
            finally
            {
                image.ReleaseGdPictureImage(imageId);
            }

            return(resultImage);
        }
Exemple #2
0
        /// <summary>
        /// Removes blobs from image
        /// </summary>
        /// <param name="bitmap">Bitmap.</param>
        /// <param name="blobsDimensions">Blobs dimensions</param>
        /// <returns></returns>
        public static Bitmap RemoveBlobs(Bitmap bitmap, BlobsDimensions blobsDimensions)
        {
            Bitmap           resultImage = bitmap;
            GdPictureImaging image       = new GdPictureImaging();

            int imageId = image.CreateGdPictureImageFromBitmap(bitmap);

            try
            {
                if (imageId > 0)
                {
                    if (image.GetBitDepth(imageId) != 1)
                    {
                        image.ConvertTo1BppAT(imageId);
                    }

                    image.RemoveBlob(imageId, blobsDimensions.MinBlobWidth, blobsDimensions.MinBlobHeight, blobsDimensions.MaxBlobWidth, blobsDimensions.MaxBlobHeight, BlobRemoveMode.FavorQuality);
                    resultImage = image.GetBitmapFromGdPictureImage(imageId).CloneSmart(image.GetPixelFormat(imageId));
                }
            }
            finally
            {
                image.ReleaseGdPictureImage(imageId);
            }

            return(resultImage);
        }
Exemple #3
0
        /// <summary>
        /// Removes lines
        /// </summary>
        /// <param name="bitmap">Bitmap</param>
        /// <param name="orientation">Lines orientation</param>
        /// <returns></returns>
        public static Bitmap RemoveLines(Bitmap bitmap, Enums.LineRemoveOrientation orientation)
        {
            Bitmap resultImage = bitmap;

            LineRemoveOrientation lineRemoveOrientation;

            switch (orientation)
            {
            case Enums.LineRemoveOrientation.Horizontal:
                lineRemoveOrientation = LineRemoveOrientation.Horizontal;
                break;

            case Enums.LineRemoveOrientation.Vertical:
                lineRemoveOrientation = LineRemoveOrientation.Vertical;
                break;

            default:
                return(resultImage);
            }

            if (orientation != Enums.LineRemoveOrientation.None)
            {
                GdPictureImaging image = new GdPictureImaging();

                int imageId = image.CreateGdPictureImageFromBitmap(bitmap);

                try
                {
                    if (imageId > 0)
                    {
                        if (image.GetBitDepth(imageId) != 1)
                        {
                            image.ConvertTo1BppAT(imageId);
                        }

                        image.RemoveLines(imageId, lineRemoveOrientation);
                        resultImage = image.GetBitmapFromGdPictureImage(imageId).CloneSmart(image.GetPixelFormat(imageId));
                    }
                }
                finally
                {
                    image.ReleaseGdPictureImage(imageId);
                }
            }

            return(resultImage);
        }
Exemple #4
0
        /// <summary>
        /// Removes the holes from holemaker
        /// </summary>
        /// <param name="bitmap">Bitmap</param>
        /// <param name="punchHolesPosition">Holes position</param>
        /// <returns></returns>
        public static Bitmap RemovePunchHoles(Bitmap bitmap, PunchHolesPositions punchHolesPosition)
        {
            Bitmap           resultImage = bitmap;
            GdPictureImaging image       = new GdPictureImaging();

            int imageId = image.CreateGdPictureImageFromBitmap(bitmap);

            try
            {
                if (imageId > 0)
                {
                    if (image.GetBitDepth(imageId) != 1)
                    {
                        image.ConvertTo1BppAT(imageId);
                    }

                    if (punchHolesPosition.LeftSide)
                    {
                        image.RemoveHolePunch(imageId, HolePunchMargins.MarginLeft);
                    }
                    if (punchHolesPosition.TopSide)
                    {
                        image.RemoveHolePunch(imageId, HolePunchMargins.MarginTop);
                    }
                    if (punchHolesPosition.RightSide)
                    {
                        image.RemoveHolePunch(imageId, HolePunchMargins.MarginRight);
                    }
                    if (punchHolesPosition.BottomSide)
                    {
                        image.RemoveHolePunch(imageId, HolePunchMargins.MarginBottom);
                    }

                    resultImage = image.GetBitmapFromGdPictureImage(imageId).CloneSmart(image.GetPixelFormat(imageId));
                }
            }
            catch (Exception e)
            {
            }
            finally
            {
                image.ReleaseGdPictureImage(imageId);
            }

            return(resultImage);
        }