home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 January / PCWorld_2003-01_cd.bin / Software / Topware / zme / zme5-trcz.exe / buttons.ZHT / main.js < prev    next >
Encoding:
Text File  |  2002-11-21  |  7.4 KB  |  207 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 "ipage" + 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.   var iATitleWidth = iTNBoxWidth * iTNCols;
  40.   var iATitleHeight = 30;
  41.   var iATitleWidth2 = iATitleWidth-2;
  42.   var iATitleHeight2 = iATitleHeight-2;
  43.  
  44.   var pImg = new CImage();
  45.   pImg.CreateNew(iATitleWidth2, iATitleHeight2, iABgColor, 255);
  46.   if (bApplyBevel) {
  47.     pImg.Buttonize(iBevelWidth, iBevelHeight, iBevelOpacity/2, false, iBevelColor, GFX_BUTTON_LIGHT_TOPRIGHT);
  48.   }
  49.   pImg.SaveAs(cDestPath + "album_title.jpg", JPGformat, 80, 0);
  50.   pImg.Close;
  51.  
  52.   var tAlbumCSS = new CTemplate();
  53.   tAlbumCSS.Load(cSourcePath + "album_css.tpl", 0);
  54.  
  55.   tAlbumCSS.SetReplace("${BGCOLOR}", HEXColor(iABgColor));
  56.  
  57.   tAlbumCSS.SetReplace("${TITLE_WIDTH}", iATitleWidth);
  58.   tAlbumCSS.SetReplace("${TITLE_HEIGHT}", iATitleHeight);
  59.   tAlbumCSS.SetReplace("${TITLE_WIDTH_2}", iATitleWidth2);
  60.   tAlbumCSS.SetReplace("${TITLE_HEIGHT_2}", iATitleHeight2);
  61.  
  62.   tAlbumCSS.SetReplace("${TITLE_FONT_COLOR}", HEXColor(iATitleColor));
  63.   tAlbumCSS.SetReplace("${TITLE_ACTIVE_FONT_COLOR}", HEXColor(iAActiveTitleColor));
  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.   pImg.CreateNew(iITitleWidth2, iITitleHeight2, iIBgColor, 255);
  81.   if (bApplyBevel) {
  82.     pImg.Buttonize(iBevelWidth, iBevelHeight, iBevelOpacity/2, false, iBevelColor, GFX_BUTTON_LIGHT_TOPRIGHT);
  83.   }
  84.   pImg.SaveAs(cDestPath + "image_title.jpg", JPGformat, 80, 0);
  85.  
  86.   var tImgCSS = new CTemplate();
  87.   tImgCSS.Load(cSourcePath + "image_css.tpl", 0);
  88.  
  89.   tImgCSS.SetReplace("${BGCOLOR}", HEXColor(iIBgColor));
  90.  
  91.   tImgCSS.SetReplace("${TITLE_WIDTH}", iITitleWidth);
  92.   tImgCSS.SetReplace("${TITLE_HEIGHT}", iITitleHeight);
  93.   tImgCSS.SetReplace("${TITLE_WIDTH_2}", iITitleWidth2);
  94.   tImgCSS.SetReplace("${TITLE_HEIGHT_2}", iITitleHeight2);
  95.  
  96.   tImgCSS.SetReplace("${TITLE_FONT_COLOR}", HEXColor(iITitleColor));
  97.   tImgCSS.SetReplace("${TITLE_ACTIVE_FONT_COLOR}", HEXColor(iIActiveTitleColor));
  98.  
  99.   tImgCSS.SetReplace("${DESC_FONT_COLOR}", HEXColor(iImgDescFontColor));
  100.   tImgCSS.SetReplace("${DESC_FONT_SIZE}", iImgDescFontSize);
  101.  
  102.   tImgCSS.SetReplace("${FOOT_FONT_COLOR}", HEXColor(iIFootFontColor));
  103.   tImgCSS.SetReplace("${FOOT_FONT_SIZE}", iIFootFontSize);
  104.  
  105.   SaveString(cDestPath + "image.css", tImgCSS.Replace(), 0); 
  106.  
  107.   var tAlbum = new CTemplate();
  108.   tAlbum.Load(cSourcePath + "album.tpl", 0);
  109.  
  110.   var tTN = new CTemplate();
  111.   tTN.Load(cSourcePath + "tn.tpl", 0);
  112.  
  113.   var tImg = new CTemplate();
  114.   tImg.Load(cSourcePath + "image.tpl", 0);
  115.  
  116.   var iImgs = 1;
  117.   for (var iPage = 0; iPage < iPagesCount; iPage++) {
  118.     var cPageFileName = GetAlbumPageFileName(iPage);
  119.  
  120.     tAlbum.SetReplace("${ALB_TITLE}", cAPageTitle);
  121.     tAlbum.SetReplace("${ALB_NAME}", cAlbumName);
  122.  
  123.     if (iPage > 0) {
  124.       tAlbum.SetReplace("${ALB_PREVPAGE}", "<a href=\""+GetAlbumPageFileName(iPage-1)+"\"><b><</b>p°edchozφ </a>");
  125.     } else {
  126.       tAlbum.SetReplace("${ALB_PREVPAGE}", "");
  127.     }
  128.  
  129.     tAlbum.SetReplace("${ALB_PAGES_NAVIGATION}", GetPagesNavigation(iPagesCount, iPage));
  130.  
  131.     if (iPage < iPagesCount-1) {
  132.       tAlbum.SetReplace("${ALB_NEXTPAGE}", "<a href=\""+GetAlbumPageFileName(iPage+1)+"\"> nßsledujφcφ<b>></b></a>");
  133.     } else {
  134.       tAlbum.SetReplace("${ALB_NEXTPAGE}", "");
  135.     }
  136.  
  137.     var cThumbnails = "";
  138.  
  139.     for (var iImg = 1; (iImg <= iFilesPerPage) && (iImgs <= iFilesCount); iImg++) {
  140.       cFileName = lSelectedFiles.GetAt(iImgs-1);
  141.       cTNFileName = "tn" + IntToStr(iImgs, 5) + ".jpg";
  142.       cImgFileName = "img" + IntToStr(iImgs, 5) + ".jpg";
  143.  
  144.       pImg = new CImage();
  145.       pImg.Load(cFileName, 0);
  146.  
  147.       pImg.Resize(iImgWidth, iImgHeight, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
  148.       pImg.SaveAs(cDestPath + cImgFileName, JPGformat, iImgJPEG, 0);
  149.  
  150.       pImg.Resize(iTNWidth, iTNHeight, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
  151.       if (bApplyBevel) {
  152.         pImg.Buttonize(iBevelWidth, iBevelHeight, iBevelOpacity, false, iBevelColor, GFX_BUTTON_LIGHT_TOPRIGHT);
  153.       }
  154.       if (bAddBorder) {
  155.         pImg.AddBorders(iBorderWidth, iBorderWidth, iBorderWidth, iBorderWidth, iBorderColor, 255);
  156.       }
  157.       //pImg.SaveAs(cDestPath + cTNFileName + ".png", PNGformat, 0, 0);
  158.  
  159.       pImg.Render(iABgColor);
  160.  
  161.       pImg.SaveAs(cDestPath + cTNFileName, JPGformat, iTNJPEG, 0);
  162.  
  163.       tTN.SetReplace("${TN_IMG_PAGENAME}", GetImagePageFileName(iImgs));
  164.       tTN.SetReplace("${TN_FILENAME}", cTNFileName);
  165.       tTN.SetReplace("${TN_DESC}", ReplaceExifStrings(cTNDescText, cFileName, cDestPath + cImgFileName));
  166.  
  167.       cThumbnails += tTN.Replace();
  168.  
  169.       tImg.SetReplace("${IMG_TITLE}", cIPageTitle);
  170.       tImg.SetReplace("${IMG_NAME}", ReplaceExifStrings(cImageName, cFileName, cDestPath + cImgFileName));
  171.  
  172.       if (iImgs > 1) {
  173.         tImg.SetReplace("${IMG_PREVPAGE}", "<a href=\""+GetImagePageFileName(iImgs-1)+"\"><b><</b>p°edchozφ </a>");
  174.       } else {
  175.         tImg.SetReplace("${IMG_PREVPAGE}", "");
  176.       }
  177.  
  178.       tImg.SetReplace("${IMG_POSITION}", (iImgs) + " / " + iFilesCount);
  179.  
  180.       if (iImgs < iFilesCount) {
  181.         tImg.SetReplace("${IMG_NEXTPAGE}", "<a href=\""+GetImagePageFileName(iImgs+1)+"\"> nßsledujφcφ<b>></b></a>");
  182.       } else {
  183.         tImg.SetReplace("${IMG_NEXTPAGE}", "");
  184.       }
  185.  
  186.       tImg.SetReplace("${IMG_FILENAME}", cImgFileName);
  187.       tImg.SetReplace("${IMG_DESC}", ReplaceExifStrings(cImgDescText, cFileName, cDestPath + cImgFileName));
  188.         tImg.SetReplace("${IMG_FOOT}", ReplaceExifStrings(cIFootText, cFileName, cDestPath + cImgFileName));
  189.  
  190.       SaveString(cDestPath + GetImagePageFileName(iImgs), tImg.Replace(), 0); 
  191.  
  192.       pImg.Close();
  193.  
  194.       iImgs++;
  195.     }
  196.     tAlbum.SetReplace("${ALB_THUMBNAILS}", cThumbnails);
  197.     tAlbum.SetReplace("${ALB_FOOT}", ReplaceExifStrings(cAFootText, "", ""));
  198.  
  199.     SaveString(cDestPath + cPageFileName, tAlbum.Replace(), 0); 
  200.  
  201.   }
  202.  
  203.   return cDestPath+GetAlbumPageFileName(0);
  204. }
  205.  
  206. INIT_OK;
  207.