av人人干_女狠狠噜天天噜日日噜_国产精品一区二区免费_亚洲国语自产一区第二页_免费av观看_已婚少妇露脸日出白浆_国产精品探花视频_久久国产精品2020免费_国产精品好好热av在线观看_亚洲另类春色校园小说

網站建設知識

我們將想法與焦點與您一起共享

當前位置:深圳網站建設 > 網站建設知識> 獨占網絡上傳圖片加上圖片水印的方法。

獨占網絡上傳圖片加上圖片水印的方法。

2015/2/6 11:06:37 獨占網絡 網站建設知識
我們上傳產品圖片或者是案例圖片的時候經常是要加上公司的logo圖片做為水印,所以我們這下面講的就是上傳圖片打logo水印的代碼。
  /// <summary>
        /// 圖片水印
        /// </summary>
        /// <param name="imgPath">服務器圖片相對路徑</param>
        /// <param name="filename">保存文件名</param>
        /// <param name="watermarkFilename">水印文件相對路徑</param>
        /// <param name="watermarkStatus">圖片水印位置 0=不使用 1=左上 2=中上 3=右上 4=左中  9=右下</param>
        /// <param name="quality">附加水印圖片質量,0-100</param>
        /// <param name="watermarkTransparency">水印的透明度 1--10 10為不透明</param>
        public static void AddImageSignPic(string imgPath, string filename, string watermarkFilename, int watermarkStatus, int quality, int watermarkTransparency)
        {
            byte[] _ImageBytes = File.ReadAllBytes(Utils.GetMapPath(imgPath));
            Image img = Image.FromStream(new System.IO.MemoryStream(_ImageBytes));
            filename = HttpContext.Current.Server.MapPath(filename);

            if (watermarkFilename.StartsWith("/") == false)
                watermarkFilename = "/" + watermarkFilename;
            watermarkFilename = Utils.GetMapPath(watermarkFilename);
            if (!File.Exists(watermarkFilename))
                return;
            Graphics g = Graphics.FromImage(img);
            //設置高質量插值法
            //g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
            //設置高質量,低速度呈現平滑程度
            //g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            Image watermark = new Bitmap(watermarkFilename);

            if (watermark.Height >= img.Height || watermark.Width >= img.Width)
                return;

            ImageAttributes imageAttributes = new ImageAttributes();
            ColorMap colorMap = new ColorMap();
            
            colorMap.OldColor = Color.FromArgb(255, 0, 255, 0);
            colorMap.NewColor = Color.FromArgb(0, 0, 0, 0);
            ColorMap[] remapTable = { colorMap };

            imageAttributes.SetRemapTable(remapTable, ColorAdjustType.Bitmap);

            float transparency = 0.5F;
            if (watermarkTransparency >= 1 && watermarkTransparency <= 10)
                transparency = (watermarkTransparency / 10.0F);


            float[][] colorMatrixElements = {
new float[] {1.0f,  0.0f,  0.0f,  0.0f, 0.0f},
new float[] {0.0f,  1.0f,  0.0f,  0.0f, 0.0f},
new float[] {0.0f,  0.0f,  1.0f,  0.0f, 0.0f},
new float[] {0.0f,  0.0f,  0.0f,  transparency, 0.0f},
new float[] {0.0f,  0.0f,  0.0f,  0.0f, 1.0f}
};

            ColorMatrix colorMatrix = new ColorMatrix(colorMatrixElements);

            imageAttributes.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);

            int xpos = 0;
            int ypos = 0;
            //判斷水印的位置
            switch (watermarkStatus)
            {
                case 1:
                    xpos = (int)(img.Width * (float).01);
                    ypos = (int)(img.Height * (float).01);
                    break;
                case 2:
                    xpos = (int)((img.Width * (float).50) - (watermark.Width / 2));
                    ypos = (int)(img.Height * (float).01);
                    break;
                case 3:
                    xpos = (int)((img.Width * (float).99) - (watermark.Width));
                    ypos = (int)(img.Height * (float).01);
                    break;
                case 4:
                    xpos = (int)(img.Width * (float).01);
                    ypos = (int)((img.Height * (float).50) - (watermark.Height / 2));
                    break;
                case 5:
                    xpos = (int)((img.Width * (float).50) - (watermark.Width / 2));
                    ypos = (int)((img.Height * (float).50) - (watermark.Height / 2));
                    break;
                case 6:
                    xpos = (int)((img.Width * (float).99) - (watermark.Width));
                    ypos = (int)((img.Height * (float).50) - (watermark.Height / 2));
                    break;
                case 7:
                    xpos = (int)(img.Width * (float).01);
                    ypos = (int)((img.Height * (float).99) - watermark.Height);
                    break;
                case 8:
                    xpos = (int)((img.Width * (float).50) - (watermark.Width / 2));
                    ypos = (int)((img.Height * (float).99) - watermark.Height);
                    break;
                case 9:
                    xpos = (int)((img.Width * (float).99) - (watermark.Width));
                    ypos = (int)((img.Height * (float).99) - watermark.Height);
                    break;
            }

            g.DrawImage(watermark, new Rectangle(xpos, ypos, watermark.Width, watermark.Height), 0, 0, watermark.Width, watermark.Height, GraphicsUnit.Pixel, imageAttributes);

            ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
            ImageCodecInfo ici = null;
            foreach (ImageCodecInfo codec in codecs)
            {
                if (codec.MimeType.IndexOf("jpeg") > -1)
                    ici = codec;
            }
            EncoderParameters encoderParams = new EncoderParameters();
            long[] qualityParam = new long[1];
            if (quality < 0 || quality > 100)
                quality = 80;

            qualityParam[0] = quality;

            EncoderParameter encoderParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, qualityParam);
            encoderParams.Param[0] = encoderParam;

            if (ici != null)
                img.Save(filename, ici, encoderParams);
            else
                img.Save(filename);

            g.Dispose();
            img.Dispose();
            watermark.Dispose();
            imageAttributes.Dispose();
        }
 
始終專注高端網站建設服務 網站建設案例服務方案聯系

聯系我們

135-3000-5572
151-1257-9390

地址:深圳市龍崗區橫崗街道力嘉創意文化產業園338

郵箱:chenmh@sz886.com

我們的優勢

12年建站服務經驗自主開發后臺CMS開發項目不外包無隱形收費

服務198家上市企業服務行業龍頭超過70家 營銷型網站建設完備的項目流程管理體系網頁設計與網站開發技術并重

關于獨占網絡

十多年來,憑借對設計的深刻理解,對互聯網營銷趨勢的敏銳洞察,獨占網絡不斷修正服務導向,完善創作品格,始終注重專業探索,為所有合作企業機構全力以赴,確保網站的視覺體驗與營銷轉化能力。

我們是一群對互聯網抱有執著信念的技術控。從2012年到現在,公司從未建過強大的營銷團隊,卻憑著作品與服務不斷保持增長,做到了"桃李不言,下自成蹊。" 我們堅信:每個客戶都是一條渠道,每個案例都是一個廣告,為企業插上翅膀,助力企業轉型升級,我們已做好準備。

專業團隊為您提供深圳網站建設、深圳網站制作、深圳營銷型網站建設、外貿網站建設等服務,深圳建網站就找獨占網絡 | 12年專注網站建設

深圳市獨占網絡科技有限公司 |備案號:粵ICP備15007128| Copyright 2025,ALL Rights Reserved www.ykfic.cn | Copyright 2025版權所有
Hi,Are you ready? 如果您有意向
請于我們取得聯系。

有一個互聯網項目想和我們談談嗎?
您可以填寫右邊的表格,讓我們了解您的項目需求,這是一個良好的開始,我們將會盡快與你取得聯系。當然也歡迎您給我們寫信或是打電話,讓我們聽到你的聲音!

獨占-整合互聯網營銷

地址:深圳市龍崗區橫崗地鐵A出口力嘉創意文化產業園338
大客戶專線:深圳 13530005572
售前QQ:1447567909
E-mail: sales@sz886.cn

合作意向表
您希望我們為您提供什么服務?
主站蜘蛛池模板: 石渠县| 含山县| 肥西县| 浏阳市| 崇明县| 高台县| 滁州市| 桂东县| 平湖市| 平定县| 高尔夫| 昌江| 高密市| 临夏市| 阿图什市| 抚顺市| 开封县| 平原县| 凌源市| 鄂温| 南陵县| 图片| 微博| 罗定市| 高密市| 玉树县| 大田县| 定边县| 大宁县| 商城县| 久治县| 托克逊县| 泰兴市| 浦城县| 三门县| 阿拉善盟| 久治县| 句容市| 德格县| 邳州市| 武鸣县|