home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 January / PCWorld_2003-01_cd.bin / Software / Topware / zme / zme5-trcz.exe / soft_shadow.ZHT / main.js < prev    next >
Encoding:
Text File  |  2002-11-21  |  7.4 KB  |  204 lines

  1. function GeneratePreview(cSourcePath, cDestPath, cID)
  2. {
  3.   //MessageBox("cSourcePath = " + cSourcePath + "\ncDestPath = " + cDestPath + "\ncID = " + cID, "Preview", MB_OK);
  4. }
  5.  
  6. function GetAlbumPageFileName(iPage) {
  7.   if (iPage == 0) {
  8.     return "index.htm";
  9.   } else {
  10.     return "page" + IntToStr(iPage, 3) + ".htm";
  11.   }
  12. }
  13.  
  14. function GetImagePageFileName(iImg) {
  15.   return "img" + IntToStr(iImg, 5) + ".htm";
  16. }
  17.  
  18. function GetPagesNavigation(iPagesCount, iCurPage) {
  19.   cNavigation = "";
  20.   for (iPage=0; iPage < iPagesCount; iPage++) {
  21.     if (iPage == iCurPage) {
  22.       cNavigation += "<B>"+IntToStr(iPage+1, 0)+"</B>\n";
  23.     } else {
  24.       cNavigation += "<A HREF=\""+GetAlbumPageFileName(iPage)+"\">"+IntToStr(iPage+1, 0)+"</A>\n";
  25.     }
  26.   }
  27.   return cNavigation;
  28. }
  29.  
  30. function GenerateAlbum(cSourcePath, cDestPath)
  31. {
  32.   var iFilesCount = lSelectedFiles.GetCount();
  33.   var iFilesPerPage = iTNCols * iTNRows;
  34.   var iPagesCount = Math.ceil(iFilesCount/iFilesPerPage);
  35.   
  36.   var iTNBoxWidth = iTNWidth + 40;
  37.   var iTNBoxHeight = iTNHeight + 2 * iTNDescFontSize + 20;
  38.  
  39.   if (bApplyShadow) {
  40.     iTNBoxWidth += iShadowBlur + iShadowXOffset;
  41.     iTNBoxHeight += iShadowBlur + iShadowYOffset;
  42.   }
  43.  
  44.   var iATitleWidth = iTNBoxWidth * iTNCols;
  45.   var iATitleHeight = 30;
  46.   var iATitleWidth2 = iATitleWidth-2;
  47.   var iATitleHeight2 = iATitleHeight-2;
  48.  
  49.   var tAlbumCSS = new CTemplate();
  50.   tAlbumCSS.Load(cSourcePath + "album_css.tpl", 0);
  51.  
  52.   tAlbumCSS.SetReplace("${BGCOLOR}", HEXColor(iABgColor));
  53.  
  54.   tAlbumCSS.SetReplace("${TITLE_WIDTH}", iATitleWidth);
  55.   tAlbumCSS.SetReplace("${TITLE_HEIGHT}", iATitleHeight);
  56.   tAlbumCSS.SetReplace("${TITLE_WIDTH_2}", iATitleWidth2);
  57.   tAlbumCSS.SetReplace("${TITLE_HEIGHT_2}", iATitleHeight2);
  58.  
  59.   tAlbumCSS.SetReplace("${TITLE_FONT_COLOR}", HEXColor(iATitleColor));
  60.   tAlbumCSS.SetReplace("${TITLE_ACTIVE_FONT_COLOR}", HEXColor(iAActiveTitleColor));
  61.   tAlbumCSS.SetReplace("${TITLE_BGCOLOR}", HEXColor(iATitleBgColor));
  62.   tAlbumCSS.SetReplace("${TITLE_OBORDER_COLOR}", HEXColor(iATitleOBorderColor));
  63.   tAlbumCSS.SetReplace("${TITLE_IBORDER_COLOR}", HEXColor(iATitleIBorderColor));
  64.  
  65.   tAlbumCSS.SetReplace("${TN_BOX_WIDTH}", iTNBoxWidth);
  66.   tAlbumCSS.SetReplace("${TN_BOX_HEIGHT}", iTNBoxHeight);
  67.   tAlbumCSS.SetReplace("${TN_FONT_COLOR}", HEXColor(iTNDescFontColor));
  68.   tAlbumCSS.SetReplace("${TN_FONT_SIZE}", iTNDescFontSize);
  69.  
  70.   tAlbumCSS.SetReplace("${FOOT_FONT_COLOR}", HEXColor(iAFootFontColor));
  71.   tAlbumCSS.SetReplace("${FOOT_FONT_SIZE}", iAFootFontSize);
  72.  
  73.   SaveString(cDestPath + "album.css", tAlbumCSS.Replace(), 0); 
  74.  
  75.   var iITitleWidth = iImgWidth;
  76.   var iITitleHeight = 30;
  77.   var iITitleWidth2 = iITitleWidth-2;
  78.   var iITitleHeight2 = iITitleHeight-2;
  79.  
  80.   var tImgCSS = new CTemplate();
  81.   tImgCSS.Load(cSourcePath + "image_css.tpl", 0);
  82.  
  83.   tImgCSS.SetReplace("${BGCOLOR}", HEXColor(iIBgColor));
  84.  
  85.   tImgCSS.SetReplace("${TITLE_WIDTH}", iITitleWidth);
  86.   tImgCSS.SetReplace("${TITLE_HEIGHT}", iITitleHeight);
  87.   tImgCSS.SetReplace("${TITLE_WIDTH_2}", iITitleWidth2);
  88.   tImgCSS.SetReplace("${TITLE_HEIGHT_2}", iITitleHeight2);
  89.  
  90.   tImgCSS.SetReplace("${TITLE_FONT_COLOR}", HEXColor(iITitleColor));
  91.   tImgCSS.SetReplace("${TITLE_ACTIVE_FONT_COLOR}", HEXColor(iIActiveTitleColor));
  92.   tImgCSS.SetReplace("${TITLE_BGCOLOR}", HEXColor(iITitleBgColor));
  93.   tImgCSS.SetReplace("${TITLE_OBORDER_COLOR}", HEXColor(iITitleOBorderColor));
  94.   tImgCSS.SetReplace("${TITLE_IBORDER_COLOR}", HEXColor(iITitleIBorderColor));
  95.  
  96.   tImgCSS.SetReplace("${DESC_FONT_COLOR}", HEXColor(iImgDescFontColor));
  97.   tImgCSS.SetReplace("${DESC_FONT_SIZE}", iImgDescFontSize);
  98.  
  99.   tImgCSS.SetReplace("${FOOT_FONT_COLOR}", HEXColor(iIFootFontColor));
  100.   tImgCSS.SetReplace("${FOOT_FONT_SIZE}", iIFootFontSize);
  101.  
  102.   SaveString(cDestPath + "image.css", tImgCSS.Replace(), 0); 
  103.  
  104.   var tAlbum = new CTemplate();
  105.   tAlbum.Load(cSourcePath + "album.tpl", 0);
  106.  
  107.   var tTN = new CTemplate();
  108.   tTN.Load(cSourcePath + "tn.tpl", 0);
  109.  
  110.   var tImg = new CTemplate();
  111.   tImg.Load(cSourcePath + "image.tpl", 0);
  112.  
  113.   var iImgs = 1;
  114.   for (var iPage = 0; iPage < iPagesCount; iPage++) {
  115.     var cPageFileName = GetAlbumPageFileName(iPage);
  116.  
  117.     tAlbum.SetReplace("${ALB_TITLE}", cAPageTitle);
  118.     tAlbum.SetReplace("${ALB_NAME}", cAlbumName);
  119.  
  120.     if (iPage > 0) {
  121.       tAlbum.SetReplace("${ALB_PREVPAGE}", "<a href=\""+GetAlbumPageFileName(iPage-1)+"\"><b><</b>p°edchozφ </a>");
  122.     } else {
  123.       tAlbum.SetReplace("${ALB_PREVPAGE}", "");
  124.     }
  125.  
  126.     tAlbum.SetReplace("${ALB_PAGES_NAVIGATION}", GetPagesNavigation(iPagesCount, iPage));
  127.  
  128.     if (iPage < iPagesCount-1) {
  129.       tAlbum.SetReplace("${ALB_NEXTPAGE}", "<a href=\""+GetAlbumPageFileName(iPage+1)+"\"> nßsledujφcφ<b>></b></a>");
  130.     } else {
  131.       tAlbum.SetReplace("${ALB_NEXTPAGE}", "");
  132.     }
  133.  
  134.     var cThumbnails = "";
  135.  
  136.     for (var iImg = 1; (iImg <= iFilesPerPage) && (iImgs <= iFilesCount); iImg++) {
  137.       cFileName = lSelectedFiles.GetAt(iImgs-1);
  138.       cTNFileName = "tn" + IntToStr(iImgs, 5) + ".jpg";
  139.       cImgFileName = "img" + IntToStr(iImgs, 5) + ".jpg";
  140.  
  141.       var pImg = new CImage();
  142.       pImg.Load(cFileName, 0);
  143.  
  144.       pImg.Resize(iImgWidth, iImgHeight, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
  145.       pImg.SaveAs(cDestPath + cImgFileName, JPGformat, iImgJPEG, 0);
  146.  
  147.       pImg.Resize(iTNWidth, iTNHeight, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
  148.       if (bAddBorder) {
  149.         pImg.AddBorders(iBorderWidth, iBorderWidth, iBorderWidth, iBorderWidth, iBorderColor, 255);
  150.       }
  151.       if (bApplyShadow) {
  152.         pImg.Shadow(iShadowColor, iShadowAlpha, iShadowXOffset, iShadowYOffset, iShadowBlur, 0);
  153.       }
  154.       //pImg.SaveAs(cDestPath + cTNFileName + ".png", PNGformat, 0, 0);
  155.  
  156.       pImg.Render(iABgColor);
  157.  
  158.       pImg.SaveAs(cDestPath + cTNFileName, JPGformat, iTNJPEG, 0);
  159.  
  160.       tTN.SetReplace("${TN_IMG_PAGENAME}", GetImagePageFileName(iImgs));
  161.       tTN.SetReplace("${TN_FILENAME}", cTNFileName);
  162.       tTN.SetReplace("${TN_DESC}", ReplaceExifStrings(cTNDescText, cFileName, cDestPath + cImgFileName));
  163.  
  164.       cThumbnails += tTN.Replace();
  165.  
  166.       tImg.SetReplace("${IMG_TITLE}", cIPageTitle);
  167.       tImg.SetReplace("${IMG_NAME}", ReplaceExifStrings(cImageName, cFileName, cDestPath + cImgFileName));
  168.  
  169.       if (iImgs > 1) {
  170.         tImg.SetReplace("${IMG_PREVPAGE}", "<a href=\""+GetImagePageFileName(iImgs-1)+"\"><b><</b>p°edchozφ </a>");
  171.       } else {
  172.         tImg.SetReplace("${IMG_PREVPAGE}", "");
  173.       }
  174.  
  175.       tImg.SetReplace("${IMG_POSITION}", (iImgs) + " / " + iFilesCount);
  176.  
  177.       if (iImgs < iFilesCount) {
  178.         tImg.SetReplace("${IMG_NEXTPAGE}", "<a href=\""+GetImagePageFileName(iImgs+1)+"\"> nßsledujφcφ<b>></b></a>");
  179.       } else {
  180.         tImg.SetReplace("${IMG_NEXTPAGE}", "");
  181.       }
  182.  
  183.       tImg.SetReplace("${IMG_FILENAME}", cImgFileName);
  184.       tImg.SetReplace("${IMG_DESC}", ReplaceExifStrings(cImgDescText, cFileName, cDestPath + cImgFileName));
  185.         tImg.SetReplace("${IMG_FOOT}", ReplaceExifStrings(cIFootText, cFileName, cDestPath + cImgFileName));
  186.  
  187.       SaveString(cDestPath + GetImagePageFileName(iImgs), tImg.Replace(), 0); 
  188.  
  189.       pImg.Close();
  190.  
  191.       iImgs++;
  192.     }
  193.     tAlbum.SetReplace("${ALB_THUMBNAILS}", cThumbnails);
  194.     tAlbum.SetReplace("${ALB_FOOT}", ReplaceExifStrings(cAFootText, "", ""));
  195.  
  196.     SaveString(cDestPath + cPageFileName, tAlbum.Replace(), 0); 
  197.  
  198.   }
  199.   
  200.   return cDestPath+GetAlbumPageFileName(0);
  201. }
  202.  
  203. INIT_OK;
  204.