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