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

網(wǎng)站建設(shè)知識

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

當(dāng)前位置:深圳網(wǎng)站建設(shè) > 網(wǎng)站建設(shè)知識> 獨占網(wǎng)絡(luò)上傳圖片加上文字水印的方法。

獨占網(wǎng)絡(luò)上傳圖片加上文字水印的方法。

2015/2/6 11:05:56 獨占網(wǎng)絡(luò) 網(wǎng)站建設(shè)知識
我們上傳圖片的經(jīng)常會加上文字水印,如獨占網(wǎng)絡(luò)上傳圖片的時候打入水印為 http://www.ykfic.cn,下面就是我們使用的代碼
 /// <summary>
        /// 文字水印
        /// </summary>
        /// <param name="imgPath">服務(wù)器圖片相對路徑</param>
        /// <param name="filename">保存文件名</param>
        /// <param name="watermarkText">水印文字</param>
        /// <param name="watermarkStatus">圖片水印位置 0=不使用 1=左上 2=中上 3=右上 4=左中  9=右下</param>
        /// <param name="quality">附加水印圖片質(zhì)量,0-100</param>
        /// <param name="fontname">字體</param>
        /// <param name="fontsize">字體大小</param>
        public static void AddImageSignText(string imgPath, string filename, string watermarkText, int watermarkStatus, int quality, string fontname, int fontsize)
        {
            //得到原圖片的信息
            byte[] _ImageBytes = File.ReadAllBytes(HttpContext.Current.Server.MapPath(imgPath));
            Image img = Image.FromStream(new System.IO.MemoryStream(_ImageBytes)); 
            filename = HttpContext.Current.Server.MapPath(filename);  
            Graphics g = Graphics.FromImage(img);
            //得到一個字體的信息
            Font drawFont = new Font(fontname, fontsize, FontStyle.Regular, GraphicsUnit.Pixel);
            SizeF crSize;
            crSize = g.MeasureString(watermarkText, drawFont); 
            float xpos = 0;
            float ypos = 0;
            //判斷水印的路徑
            switch (watermarkStatus)
            {
                case 1:
                    xpos = (float)img.Width * (float).01;
                    ypos = (float)img.Height * (float).01;
                    break;
                case 2:
                    xpos = ((float)img.Width * (float).50) - (crSize.Width / 2);
                    ypos = (float)img.Height * (float).01;
                    break;
                case 3:
                    xpos = ((float)img.Width * (float).99) - crSize.Width;
                    ypos = (float)img.Height * (float).01;
                    break;
                case 4:
                    xpos = (float)img.Width * (float).01;
                    ypos = ((float)img.Height * (float).50) - (crSize.Height / 2);
                    break;
                case 5:
                    xpos = ((float)img.Width * (float).50) - (crSize.Width / 2);
                    ypos = ((float)img.Height * (float).50) - (crSize.Height / 2);
                    break;
                case 6:
                    xpos = ((float)img.Width * (float).99) - crSize.Width;
                    ypos = ((float)img.Height * (float).50) - (crSize.Height / 2);
                    break;
                case 7:
                    xpos = (float)img.Width * (float).01;
                    ypos = ((float)img.Height * (float).99) - crSize.Height;
                    break;
                case 8:
                    xpos = ((float)img.Width * (float).50) - (crSize.Width / 2);
                    ypos = ((float)img.Height * (float).99) - crSize.Height;
                    break;
                case 9:
                    xpos = ((float)img.Width * (float).99) - crSize.Width;
                    ypos = ((float)img.Height * (float).99) - crSize.Height;
                    break;
            }

            g.DrawString(watermarkText, drawFont, new SolidBrush(Color.White), xpos + 1, ypos + 1);
            g.DrawString(watermarkText, drawFont, new SolidBrush(Color.Black), xpos, ypos);

            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;
            //水印的質(zhì)量
            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);

            //關(guān)閉資源
            g.Dispose();
            img.Dispose();
        }
        
始終專注高端網(wǎng)站建設(shè)服務(wù) 網(wǎng)站建設(shè)案例服務(wù)方案聯(lián)系

聯(lián)系我們

135-3000-5572
151-1257-9390

地址:深圳市龍崗區(qū)橫崗街道力嘉創(chuàng)意文化產(chǎn)業(yè)園338

郵箱:chenmh@sz886.com

我們的優(yōu)勢

12年建站服務(wù)經(jīng)驗自主開發(fā)后臺CMS開發(fā)項目不外包無隱形收費

服務(wù)198家上市企業(yè)服務(wù)行業(yè)龍頭超過70家 營銷型網(wǎng)站建設(shè)完備的項目流程管理體系網(wǎng)頁設(shè)計與網(wǎng)站開發(fā)技術(shù)并重

關(guān)于獨占網(wǎng)絡(luò)

十多年來,憑借對設(shè)計的深刻理解,對互聯(lián)網(wǎng)營銷趨勢的敏銳洞察,獨占網(wǎng)絡(luò)不斷修正服務(wù)導(dǎo)向,完善創(chuàng)作品格,始終注重專業(yè)探索,為所有合作企業(yè)機構(gòu)全力以赴,確保網(wǎng)站的視覺體驗與營銷轉(zhuǎn)化能力。

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

專業(yè)團隊為您提供深圳網(wǎng)站建設(shè)、深圳網(wǎng)站制作、深圳營銷型網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)等服務(wù),深圳建網(wǎng)站就找獨占網(wǎng)絡(luò) | 12年專注網(wǎng)站建設(shè)

深圳市獨占網(wǎng)絡(luò)科技有限公司 |備案號:粵ICP備15007128| Copyright 2025,ALL Rights Reserved www.ykfic.cn | Copyright 2025版權(quán)所有
Hi,Are you ready? 如果您有意向
請于我們?nèi)〉寐?lián)系。

有一個互聯(lián)網(wǎng)項目想和我們談?wù)剢幔?br>您可以填寫右邊的表格,讓我們了解您的項目需求,這是一個良好的開始,我們將會盡快與你取得聯(lián)系。當(dāng)然也歡迎您給我們寫信或是打電話,讓我們聽到你的聲音!

獨占-整合互聯(lián)網(wǎng)營銷

地址:深圳市龍崗區(qū)橫崗地鐵A出口力嘉創(chuàng)意文化產(chǎn)業(yè)園338
大客戶專線:深圳 13530005572
售前QQ:1447567909
E-mail: sales@sz886.cn

合作意向表
您希望我們?yōu)槟峁┦裁捶?wù)?
主站蜘蛛池模板: 巴林右旗| 南开区| 福安市| 汕头市| 长宁区| 浮梁县| 威宁| 吉木萨尔县| 松滋市| 宁安市| 汶川县| 瑞丽市| 特克斯县| 崇礼县| 台东市| 五台县| 鄱阳县| 文水县| 呼和浩特市| 黄平县| 庐江县| 德钦县| 台安县| 龙陵县| 安阳县| 行唐县| 巩义市| 望城县| 囊谦县| 东乡族自治县| 皮山县| 大宁县| 奉新县| 福清市| 辉南县| 阿巴嘎旗| 邓州市| 涟源市| 富蕴县| 侯马市| 安达市|