예제 #1
0
        /// <summary>
        /// 给图片打水印,使用ASPJpeg控件
        /// </summary>
        /// <param name="SourceFileName">原图</param>
        /// <param name="MarkFileNameBig">大水印图</param>
        /// <param name="MarkFileNameSmall">小水印图</param>
        /// <param name="SaveFileName">添加水印后的图片</param>
        /// <param name="WType">水印类型;1:文字水印;2图片水印</param>
        public static void ToMarkWater(string SourceFileName, string MarkFileNameBig, string MarkFileNameSmall, string SaveFileName, int WType)
        {
            string UserMarkFileName = "";
            int space = 0;

            try
            {
                int WidthS, HeightS;
                if (WType == 2)
                {
                    ASPJPEGLib.IASPJpeg objJpegS = new ASPJPEGLib.ASPJpeg();
                    ASPJPEGLib.IASPJpeg objJpegM = new ASPJPEGLib.ASPJpeg();
                    objJpegS.Open(SourceFileName);
                    WidthS = objJpegS.OriginalWidth;
                    HeightS = objJpegS.OriginalHeight;

                    if (WidthS >= 200 && HeightS >= 100)
                    {
                        UserMarkFileName = MarkFileNameBig;
                        space = 10;
                    }
                    else if (WidthS >= 60 && HeightS >= 30)
                    {
                        UserMarkFileName = MarkFileNameSmall;
                        space = 1;
                    }
                    else
                    {
                        objJpegS.Save(SaveFileName);

                        objJpegS.Close();
                    }

                    objJpegM.Open(UserMarkFileName);

                    int WidthM = objJpegM.OriginalWidth;
                    int HeightM = objJpegM.OriginalHeight;

                    if (WidthS > WidthM + space && HeightS > HeightM + space)
                    {
                        objJpegS.Canvas.DrawImage(WidthS - WidthM - space, HeightS - HeightM - space, (ASPJPEGLib.ASPJpeg)objJpegM, 0.7, "&HFFFFFF", 60);
                    }
                    objJpegS.Save(SaveFileName);
                    objJpegS.Close();
                    objJpegM.Close();
                }
                else
                {
                    ASPJPEGLib.IASPJpeg objJpegS = new ASPJPEGLib.ASPJpeg();
                    ASPJPEGLib.IASPJpeg objJpegM = new ASPJPEGLib.ASPJpeg();
                    objJpegS.Open(SourceFileName);
                    WidthS = objJpegS.OriginalWidth;
                    HeightS = objJpegS.OriginalHeight;
                    objJpegS.Canvas.Font.Family = "Arial";
                    objJpegS.Canvas.Font.ShadowXoffset = 1;
                    objJpegS.Canvas.Font.ShadowYoffset = 1;
                    objJpegS.Canvas.Font.Color = 0xffffff;
                    objJpegS.Canvas.Font.ShadowColor = 0xcccccc;
                    objJpegS.Canvas.Font.Quality = 10;
                    objJpegS.Canvas.Brush.Solid = 1;
                    objJpegS.Canvas.Font.Bold = 1;
                    objJpegS.Canvas.Font.Size = 40;
                    objJpegS.Canvas.PrintText(WidthS - (WidthS - 120), HeightS - 50, "www.Miaow.cn", null);
                    objJpegS.Save(SaveFileName);
                    objJpegS.Close();
                    ASPJPEGLib.IASPJpeg objJpegA = new ASPJPEGLib.ASPJpeg();
                    objJpegA.Open(SourceFileName);
                    objJpegM.Open(SaveFileName);
                    objJpegA.Canvas.DrawImage(0, 0, (ASPJPEGLib.ASPJpeg)objJpegM, 0.6, "&HFF0000", 10);
                    objJpegA.Save(SaveFileName);

                    objJpegA.Close();
                    objJpegM.Close();
                }
            }
            catch
            {
            }
        }
예제 #2
0
        /// <summary>
        /// 给图片打水印,使用ASPJpeg控件
        /// </summary>
        /// <param name="SourceFileName">原图</param>
        /// <param name="MarkFileNameBig">大水印图</param>
        /// <param name="MarkFileNameSmall">小水印图</param>
        /// <param name="SaveFileName">添加水印后的图片</param>
        /// <param name="WType">水印类型;1:文字水印;2图片水印</param>
        public static void ToMarkWater(string SourceFileName, string MarkFileNameBig, string MarkFileNameSmall, string SaveFileName, int WType)
        {
            string UserMarkFileName = "";
            int    space            = 0;

            try
            {
                int WidthS, HeightS;
                if (WType == 2)
                {
                    ASPJPEGLib.IASPJpeg objJpegS = new ASPJPEGLib.ASPJpeg();
                    ASPJPEGLib.IASPJpeg objJpegM = new ASPJPEGLib.ASPJpeg();
                    objJpegS.Open(SourceFileName);
                    WidthS  = objJpegS.OriginalWidth;
                    HeightS = objJpegS.OriginalHeight;

                    if (WidthS >= 200 && HeightS >= 100)
                    {
                        UserMarkFileName = MarkFileNameBig;
                        space            = 10;
                    }
                    else if (WidthS >= 60 && HeightS >= 30)
                    {
                        UserMarkFileName = MarkFileNameSmall;
                        space            = 1;
                    }
                    else
                    {
                        objJpegS.Save(SaveFileName);

                        objJpegS.Close();
                    }

                    objJpegM.Open(UserMarkFileName);

                    int WidthM  = objJpegM.OriginalWidth;
                    int HeightM = objJpegM.OriginalHeight;

                    if (WidthS > WidthM + space && HeightS > HeightM + space)
                    {
                        objJpegS.Canvas.DrawImage(WidthS - WidthM - space, HeightS - HeightM - space, (ASPJPEGLib.ASPJpeg)objJpegM, 0.7, "&HFFFFFF", 60);
                    }
                    objJpegS.Save(SaveFileName);
                    objJpegS.Close();
                    objJpegM.Close();
                }
                else
                {
                    ASPJPEGLib.IASPJpeg objJpegS = new ASPJPEGLib.ASPJpeg();
                    ASPJPEGLib.IASPJpeg objJpegM = new ASPJPEGLib.ASPJpeg();
                    objJpegS.Open(SourceFileName);
                    WidthS  = objJpegS.OriginalWidth;
                    HeightS = objJpegS.OriginalHeight;
                    objJpegS.Canvas.Font.Family        = "Arial";
                    objJpegS.Canvas.Font.ShadowXoffset = 1;
                    objJpegS.Canvas.Font.ShadowYoffset = 1;
                    objJpegS.Canvas.Font.Color         = 0xffffff;
                    objJpegS.Canvas.Font.ShadowColor   = 0xcccccc;
                    objJpegS.Canvas.Font.Quality       = 10;
                    objJpegS.Canvas.Brush.Solid        = 1;
                    objJpegS.Canvas.Font.Bold          = 1;
                    objJpegS.Canvas.Font.Size          = 40;
                    objJpegS.Canvas.PrintText(WidthS - (WidthS - 120), HeightS - 50, "www.ipow.cn", null);
                    objJpegS.Save(SaveFileName);
                    objJpegS.Close();
                    ASPJPEGLib.IASPJpeg objJpegA = new ASPJPEGLib.ASPJpeg();
                    objJpegA.Open(SourceFileName);
                    objJpegM.Open(SaveFileName);
                    objJpegA.Canvas.DrawImage(0, 0, (ASPJPEGLib.ASPJpeg)objJpegM, 0.6, "&HFF0000", 10);
                    objJpegA.Save(SaveFileName);

                    objJpegA.Close();
                    objJpegM.Close();
                }
            }
            catch
            {
            }
        }