第一步:创建一个类clsTurnPicture
增加方法如下:
/// <summary>
/// 播放图片类(downmoon)
/// </summary>
/// <param name="arrImgName">arrImgName</param>
/// <param name="arrDesc">arrDesc</param>
/// <param name="strShopName">strShopName</param>
/// <param name="strBrandName">strBrandName</param>
/// <param name="strResoourceCode">strResoourceCode</param>
/// <param name="ScrWidth">ScrWidth</param>
/// <param name="ScrHeight">ScrHeight</param>
/// <param name="PicWidth">PicWidth</param>
/// <param name="PicHeight">PicHeight</param>
/// <param name="TextHeight">TextHeight</param>
/// <param name="ToolBarHeight">ToolBarHeight</param>
/// <param name="FontSize">默认为16,px</param>
/// <returns></returns>
public string getPicsForHtml(ArrayList arrImgName,ArrayList arrDesc,string strShopName,string strBrandName,string strResoourceCode,int ScrWidth,int ScrHeight,int PicWidth,int PicHeight,int TextHeight,int ToolBarHeight,int FontSize)
{
StringBuilder sb = new StringBuilder();
string strHtml="";
if(arrImgName==null) return "" ;
ArrayList ar1=new ArrayList(arrImgName);
ArrayList ar2=new ArrayList(arrDesc);
int len=ar1.Count;
int len2=ar1.Count-1;
int len3=ToolBarHeight-2;
string str1="";
string str2="";
//strHtm+=@" <html><head><title>Buynow{0}-{1}-{2}图片信息</title>
strHtml=@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"" ><HTML><HEAD><title>"+ strShopName+"-"+strBrandName+"-"+"席位:"+strResoourceCode+ "-外观展示图"+
@"</title>
<meta http-equiv=""content-type"" content=""text/html; charset=gb2312"">
<meta name=""GENERATOR"" Content=""Microsoft Visual Studio .NET 7.1"">
<meta name=""CODE_LANGUAGE"" Content=""C#"">
<meta name=""vs_defaultClientScript"" content=""JavaScript"">
<meta name=""vs_targetSchema"" content=""http://schemas.microsoft.com/intellisense/ie5""> "+System.Environment.NewLine;
sb.Append(strHtml);
sb.Append("<script language=JavaScript>"+"\r\n");
sb.Append("<!-- Begin"+System.Environment.NewLine);
sb.Append("var interval = 6; // delay between rotating images (in seconds)"+System.Environment.NewLine);
sb.Append("interval *= 1000;"+System.Environment.NewLine);
sb.Append("var flagtime=0;"+System.Environment.NewLine);
sb.Append("var image_index = -1;"+System.Environment.NewLine);
sb.Append("image_list = new Array();"+System.Environment.NewLine);
sb.Append("note_list = new noteArray("+len2.ToString()+")"+System.Environment.NewLine);
sb.Append("var number_of_image = image_list.length;"+System.Environment.NewLine);
sb.Append("var timesnum=0; "+System.Environment.NewLine);
//strHtml=string.Format(strHtml,len.ToString());
string strTemp="";
for(int k=0;k<ar1.Count;k++)
{
strTemp=ar1[k].ToString();
//strHtm+=" image_list[k] = new imageItem(\"+strTemp+\")";
str1+=" image_list["+k.ToString()+"] = new imageItem(\""+strTemp+"\")"+";\r\n";
}
sb.Append(""+System.Environment.NewLine);
for(int k=0;k<ar2.Count;k++)
{
strTemp=strShopName+"-"+strBrandName+"-"+strResoourceCode+"-"+ar2[k].ToString();
str2+=" note_list["+k.ToString()+"] = \""+strTemp+"\""+";\r\n";
}
sb.Append(str1);
sb.Append(str2);
sb.Append("function noteArray(size)"+System.Environment.NewLine);
sb.Append("{"+System.Environment.NewLine);
sb.Append("this.length=size;"+System.Environment.NewLine);
sb.Append("for(i=1;i<=size;i++)"+System.Environment.NewLine);
sb.Append("{"+System.Environment.NewLine);
sb.Append(@"this[i]="""""+System.Environment.NewLine);
sb.Append(" }"+System.Environment.NewLine);
sb.Append("return this;"+System.Environment.NewLine);
sb.Append("}"+System.Environment.NewLine);
sb.Append("function counternum()"+System.Environment.NewLine);
sb.Append("{"+System.Environment.NewLine);
sb.Append("if( timesnum < "+len2.ToString()+")"+System.Environment.NewLine);
sb.Append("{"+System.Environment.NewLine);
sb.Append(" timesnum++;"+System.Environment.NewLine);
sb.Append(@"//document.all.slide_ent.src=""about:blank"";");
sb.Append(System.Environment.NewLine);
sb.Append(@"//document.all.slide_ent.src=""about:blank"";");
sb.Append(System.Environment.NewLine);
sb.Append(" }"+System.Environment.NewLine);
sb.Append("}"+System.Environment.NewLine);
sb.Append(@"function run(obj)
{
interval=obj.options[obj.selectedIndex].value*1000;
rotateImage();
}");
sb.Append(@"function stop()
{
interval=0;
}
function previous()
{
var new_image = getPreviousImage();
document[""rImage""].src = new_image;
}
function next()
{
var new_image = getNextImage();
document[""rImage""].src = new_image;
}
function imageItem(image_location)
{
this.image_item = new Image();
this.image_item.src = image_location;
}
function noteItem(note)
{
this.note_item = new Image();
this.note_item.src = note;
}
function get_ImageItemLocation(imageObj)
{
return(imageObj.image_item.src)
}
function get_NoteItemLocation(noteObj)
{
return(noteObj.note_item.src)
}
function generate(x, y)
{
var range = y - x + 1;
return Math.floor(Math.random() * range) + x;
}");
sb.Append(@"function getPreviousImage()
{
image_index = image_index-1;
if (image_index < 0)
{");
sb.Append("image_index=image_index+"+len.ToString()+";");
sb.Append(@"}
var new_image = get_ImageItemLocation(image_list[image_index]);
document.all.span_1.innerText=image_index+1;
document.all.summary.innerText=note_list[image_index];
return(new_image);");
sb.Append(System.Environment.NewLine+"}");
sb.Append(@"function getNextImage()
{
image_index = image_index+1;
");
sb.Append("if (image_index >= "+len.ToString()+")");
sb.Append(System.Environment.NewLine);
sb.Append(@"{");
sb.Append(System.Environment.NewLine);
sb.Append("image_index=image_index-"+len.ToString()+";");
sb.Append(System.Environment.NewLine);
sb.Append("}");
sb.Append(System.Environment.NewLine);
//sb.Append(@"");
sb.Append(@"var new_image = get_ImageItemLocation(image_list[image_index]);
document.all.span_1.innerText=image_index+1;
document.all.summary.innerText=note_list[image_index];
return(new_image);");
sb.Append(System.Environment.NewLine+"}");
strHtml=@"
function rotateImage()
{
if (interval == 0)
{
return 1;
}
if (flagtime == 1)
{
var now = new Date();
var time1 = now.getTime();
var time2;
time1=time1+3000;
time2=now.getTime();
while(time2 < time1)
{
now = new Date();
time2=now.getTime();
}
flagtime=0;
}
var new_image = getNextImage();
document['rImage'].src = new_image;
var recur_call = ""rotateImage('""+'rImage'+""')"";
setTimeout(recur_call,interval);
}
// End -->
</script>
<script type=""text/javascript"" src=""Resource/Script/ygcss.js""></script>
";
sb.Append(strHtml);
strHtml=@"</HEAD><body topmargin=""0"" leftmargin=""0""><form name=""frmDispImage"">";
sb.Append(strHtml);
strHtml=@"
<center>
<center>
<table bgcolor='#fff2df' border='0' cellpadding='0' cellspacing='0' width='"
+ScrWidth.ToString()+@"'>
<tbody><tr>
<td align='center' valign='top'><table border='0' cellpadding='0' cellspacing='0' width='100%'>
<tbody><tr>
<td height='1'></td>
</tr>
</tbody></table>
<table border='0' cellpadding='0' cellspacing='0' height='"+
PicHeight.ToString()+"' width='"+PicWidth.ToString()+@"' align='center'>
<tbody><tr>
<td align='center'><img name=""rImage"" src='"+
ar1[0].ToString()+"' width='"+PicWidth+"' height='"+PicHeight+@"' onload=""counternum();"" border='0'></td>
</tr>
</tbody></table>
<!--text-->
<table border='0' cellpadding='0' cellspacing='0' width='100%'>
<tbody><tr>
<td id=""summary"" align='center' height='"+
TextHeight.ToString()+"' style='font-size:"+FontSize.ToString()+"pt;'>"
+strShopName+"-"+strBrandName+"-"+strResoourceCode+"-"+ar2[0].ToString()+@"</td>
</tr>
</tbody></table>
<!--/text-->
<!--bottom-->
<table border='0' cellpadding='0' cellspacing='0' width='100%'>
<tbody><tr>
<td><img src='Resource/Image/TurnImage/slideshow_bg_3.gif' border='0' height='4' width='"+ScrWidth.ToString()+@"'></td>
</tr>
<tr>
<td bgcolor='#c9beeb' height='"+ToolBarHeight.ToString()+@"'>
<table border='0' cellpadding='1' cellspacing='0' width='100%'>
<tbody><tr>
<td class='sbody' align='center' height='"+len3.ToString()+"'><font style='font-size:"+FontSize+"pt;'><span id='span_1'>1</span>/"+len.ToString()+
@"
<img src='Resource/Image/TurnImage/slideshows_bottom_1.gif' alt='开始' onclick=""run(document.frmDispImage.select1)"" align='absmiddle' border='0' height='21' width='35'> <img src='Resource/Image/TurnImage/slideshows_bottom_2.gif' alt='停止' onclick=""stop();"" align='absmiddle' border='0' height='21' width='35'>
<img src='Resource/Image/TurnImage/slideshows_bottom_3.gif' alt='前一张' onclick=""previous();"" align='absmiddle' border='0' height='21' width='35'> <img src='Resource/Image/TurnImage/slideshows_bottom_4.gif' alt='后一张' onclick=""next();"" align='absmiddle' border='0' height='21' width='35'> 速度:
<select name=""select1"" onchange=""run(this)"">
<option value=""12"">12 sec.</option>
<option selected=""selected"" value=""6"">6 sec.</option>
<option value=""3"">3 sec.</option>
<option value=""9"">9 sec.</option>
</select></font></td>
</tr>
</tbody></table>
</td>
</tr>
<tr>
<td bgcolor='#625a68' height='1'></td>
</tr>
</tbody></table>
</td>
</tr>
</tbody></table>
<!--/--></center>
<script language=""javascript"">
flagtime=1;
<!--rotateImage();-->
<!--slideit()-->
</script>
</center>";
sb.Append(strHtml);
sb.Append("</form></body></HTML>");
return sb.ToString();
}
调用格式:
//// ArrayList ar1=new ArrayList();
//// ar1.Clear();
//// ar1.Add("http://downmoon-hgh/RichChartServer/Top30/frmForumDisplayImage.aspx?id=160720060328095407");
//// ar1.Add("http://downmoon-hgh/RichChartServer/Top30/frmForumDisplayImage.aspx?id=160420060327085709");
//// ar1.Add("http://downmoon-hgh/RichChartServer/Top30/frmForumDisplayImage.aspx?id=160420060327091030");
//// ar1.Add("http://downmoon-hgh/RichChartServer/Top30/frmForumDisplayImage.aspx?id=160420060327092445");
////
//// drawPic(ar1);
if(this.ar1==null || ar1.Count==0 )
{
// this.MsgBox("该席位/资源无外观图!");
// this.CloseWebForm();
return ;
}
else
{
drawPic(ar1);
}
private void drawPic(ArrayList arrImages)
{
if(pic==null)
{
pic=new clsTurnPicture();
}
int i;
ArrayList ar2=new ArrayList();
ar2.Clear();
for(int k=0;k<arrImages.Count;k++)
{ i=k+1;
ar2.Add("展示图"+i.ToString());
}
Response.Write(pic.getPicsForHtml(arrImages,ar2,CurrShopName,CurBrandName,strResourceCode,1024,768,1022,640,36,34,16));
}