示例#1
0
        /// <summary>
        /// 创建显示图像的标签(flash无点击)
        /// </summary>
        public static string CreateTag2(string ADID, string filename, string desc, string FileType, string LinkURL, int Width, int High)
        {
            StringBuilder TagStr = new StringBuilder();

            switch (FileType)
            {
            case "image/gif":
            case "image/bmp":
            case "image/pjpeg":
            {
                TagStr.Append("<a href=\"");
                TagStr.Append(ConfigHelper.GetConfigString("URL") + "\\FormAdHit.aspx?ADID=" + ADID);
                TagStr.Append("&LinkURL=" + LinkURL);
                TagStr.Append("\"");
                TagStr.Append(" target=\"_blank\">");
                TagStr.Append(" <IMG alt=\"" + desc + "\"");
                TagStr.Append(" src=\"" + filename + "\"");
                TagStr.Append(" width=\"" + Width + "\" height=\"" + High + "\" ");
                TagStr.Append(" border=\"0\">");
                TagStr.Append("</a>");
                break;
            }

            case "application/x-shockwave-flash":
            {
                //					TagStr.Append("<a href=\"");
                //					TagStr.Append(LinkURL);
                //					TagStr.Append("FormAdHit.aspx?ADID="+ADID);
                //					TagStr.Append("&LinkURL="+LinkURL);
                //					TagStr.Append("\"");
                //					TagStr.Append(" target=\"_blank\">");

                TagStr.Append(" <embed src=\"" + filename + "\" ");
                TagStr.Append(" quality=\"high\" bgcolor=\"#f5f5f5\" ");
                TagStr.Append(" ></embed>");

                //					TagStr.Append("</a>");
            }

            break;

            case "video/x-ms-wmv":
            case "video/mpeg":
            case "video/x-ms-asf":
            case "video/avi":
            case "audio/mpeg":
            case "audio/mid":
            case "audio/wav":
            case "audio/x-ms-wma":

                //					TagStr.Append("<a href=\"");
                //					TagStr.Append(LinkURL);
                //					TagStr.Append("FormAdHit.aspx?ADID="+ADID);
                //					TagStr.Append("&LinkURL="+LinkURL);
                //					TagStr.Append("\"");
                //					TagStr.Append(" target=\"_blank\">");
                TagStr.Append("<embed");
                TagStr.Append(" src=\"" + filename + "\" border=\"0\" ");
                TagStr.Append(" width=\"" + Width + "\" height=\"" + High + "\"");
                TagStr.Append(" autoStart=\"1\" playCount=\"0\" enableContextMenu=\"0\"");
                TagStr.Append(" type=\"application/x-mplayer2\"></embed>");
                //					TagStr.Append("</a>");


                break;

            default:
                //					TagStr.Append("不允许该格式文件显示!");
                break;
            }

            return(TagStr.ToString());
        }
示例#2
0
        /// <summary>
        /// 创建显示图像的标签(重载),无宽高限制,(flash加点击)
        /// </summary>
        public static string CreateTag(string ADID, string filename, string desc, string FileType, string LinkURL)
        {
            StringBuilder TagStr = new StringBuilder();

            switch (FileType)
            {
            case "image/gif":
            case "image/bmp":
            case "image/pjpeg":
            {
                TagStr.Append("<a href=\"");
                TagStr.Append(ConfigHelper.GetConfigString("URL") + "\\FormAdHit.aspx?ADID=" + ADID);
                TagStr.Append("&LinkURL=" + LinkURL);
                TagStr.Append("\"");
                TagStr.Append(" target=\"_blank\">");
                TagStr.Append(" <IMG alt=\"" + desc + "\"");
                TagStr.Append(" src=\"" + filename + "\"");
                //					TagStr.Append(" width=\""+Width+"\" height=\""+High+"\" ");
                TagStr.Append(" border=\"0\">");
                TagStr.Append("</a>");
                break;
            }

            case "application/x-shockwave-flash":
            {
                TagStr.Append("<object ");
                //					TagStr.Append(" width="+Width+" height="+High+" ");
                TagStr.Append("  classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"  ");
                TagStr.Append(" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\"> ");
                //					TagStr.Append(" <param name=\"movie\" value=\""+filename+"?clickthru=");
                //					TagStr.Append("FormAdHit.aspx?ADID="+ADID);
                //					TagStr.Append("_LinkURL="+LinkURL);
                //					TagStr.Append("\"> ");
                TagStr.Append(" <param name=\"wmode\" value=\"opaque\"> ");
                TagStr.Append(" <param name=\"quality\" value=\"autohigh\"> ");
                TagStr.Append(" <embed  ");
                //					TagStr.Append(" width="+Width+" height="+High+"  ");
                TagStr.Append(" src=\"" + filename + "?clickthru=");
                TagStr.Append(ConfigHelper.GetConfigString("URL") + "\\FormAdHit.aspx?ADID=" + ADID);
                TagStr.Append("_LinkURL=" + LinkURL);
                TagStr.Append("\"  ");
                TagStr.Append(" quality=\"autohigh\" wmode=\"opaque\" type=\"application/x-shockwave-flash\"  ");
                TagStr.Append(" plugspace=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\"> ");
                TagStr.Append(" </embed></object> ");
            }

            break;

            case "video/x-ms-wmv":
            case "video/mpeg":
            case "video/x-ms-asf":
            case "video/avi":
            case "audio/mpeg":
            case "audio/mid":
            case "audio/wav":
            case "audio/x-ms-wma":
                TagStr.Append("<embed");
                TagStr.Append(" src=\"" + filename + "\" border=\"0\" ");
                //					TagStr.Append(" width=\""+Width+"\" height=\""+High+"\"");
                TagStr.Append(" autoStart=\"1\" playCount=\"0\" enableContextMenu=\"0\"");
                TagStr.Append(" type=\"application/x-mplayer2\"></embed>");


                break;

            default:
                break;
            }

            return(TagStr.ToString());
        }
示例#3
0
        /// <summary>在图片上生成图片水印</summary>
        /// <param name="srcFile">要添加水印的图片</param>
        /// <param name="top">上边距 为0时下边距生效</param>
        /// <param name="bottom">下边距 上边距为0时生效</param>
        /// <param name="left">左边距 为0时右边距生效</param>
        /// <param name="right">右边距 左边距为0时生效</param>
        /// <param name="limitWidth">原图小于该宽度,将不添加水印</param>
        /// <param name="HighQuality">如果大于0,使用质量控制(50-100)</param>
        /// <param name="_WaterPicPath">水印图片所在地址,默认:"/images/Water.png"</param>
        public static void MakeWaterPic(string srcFile, int top = 0, int bottom = 10, int left = 0, int right = 10, int limitWidth = 300, int HighQuality = 0, string _WaterPicPath = "/images/Water.png")
        {
            #region 取得图片绝对地址
            if (srcFile.IndexOf(":") < 0)
            {
                srcFile = DirFileHelper.GetMapPath(srcFile);
            }
            if (!DirFileHelper.IsExistFile(srcFile))
            {
                return;
            }
            #endregion

            #region 取得水印图片
            //如果是默认水印图片
            if (_WaterPicPath == "/images/Water.png")
            {
                //则从配置信息里读取水印图片路径
                var waterPicPath = ConfigHelper.GetConfigString("WaterPicPath");
                if (!string.IsNullOrEmpty(waterPicPath))
                {
                    _WaterPicPath = waterPicPath;
                }
            }

            if (_WaterPicPath.IndexOf(":") < 0)
            {
                _WaterPicPath = DirFileHelper.GetMapPath(_WaterPicPath);
            }
            if (!DirFileHelper.IsExistFile(_WaterPicPath))
            {
                return;
            }
            #endregion

            //---------------------------------------
            #region 判断
            Image srcImage = Image.FromFile(srcFile);
            Image watImage = Image.FromFile(_WaterPicPath);

            //水印图大于原图或原图小于300,不加水印
            if (watImage.Width > srcImage.Width || srcImage.Width < limitWidth)
            {
                srcImage.Dispose();
                watImage.Dispose();
                return;
            }
            #endregion

            //---------------------------------------
            #region 位置
            int x = 0, y = 0;
            if (top != 0)
            {
                y = top;
                if (left != 0)
                {
                    x = left;
                }
                else
                {
                    x = srcImage.Width - watImage.Width - right;
                }
            }
            else if (bottom != 0)
            {
                y = srcImage.Height - watImage.Height - bottom;
                if (left != 0)
                {
                    x = left;
                }
                else
                {
                    x = srcImage.Width - watImage.Width - right;
                }
            }
            else
            {
                //居中
                x = srcImage.Width / 2 - watImage.Width / 2;
                y = srcImage.Height / 2 - watImage.Height / 2;
            }
            #endregion

            //---------------------------------------
            #region 保存
            Bitmap   bitmap = new Bitmap(srcImage);
            Graphics g      = Graphics.FromImage(bitmap);
            g.DrawImage(watImage, new Rectangle(x, y, watImage.Width, watImage.Height), 0, 0, watImage.Width, watImage.Height, GraphicsUnit.Pixel);
            srcImage.Dispose();
            watImage.Dispose();
            g.Dispose();

            try
            {
                if (DirFileHelper.GetFileExtension(srcFile) == "png")
                {
                    bitmap.Save(srcFile, System.Drawing.Imaging.ImageFormat.Png);
                }
                else//以jpg格式保存缩略图
                {
                    //---------------------------------------
                    //高质量--使用分级图片质量
                    if (HighQuality > 0)
                    {
                        // 以下代码为保存图片时,设置压缩质量
                        EncoderParameters encoderParams = new EncoderParameters();
                        long[]            quality       = new long[1];
                        quality[0] = HighQuality;   //50-100内
                        EncoderParameter encoderParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
                        encoderParams.Param[0] = encoderParam;

                        //获得包含有关内置图像编码解码器的信息的ImageCodecInfo 对象.
                        ImageCodecInfo[] arrayICI = ImageCodecInfo.GetImageEncoders();
                        ImageCodecInfo   jpegICI  = null;
                        for (int i = 0; i < arrayICI.Length; i++)
                        {
                            if (arrayICI[i].FormatDescription.Equals("JPEG"))
                            {
                                jpegICI = arrayICI[i];//设置JPEG编码
                                break;
                            }
                        }

                        //---------------------------------------
                        bitmap.Save(srcFile, jpegICI, encoderParams);
                    }
                    else
                    {
                        bitmap.Save(srcFile, System.Drawing.Imaging.ImageFormat.Jpeg);
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                bitmap.Dispose();
            }
            #endregion
        }