/// <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()); }
/// <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()); }
/// <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 }