home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 June / PCWorld_2005-06_cd.bin / software / temacd / zps / zps7_cz_trial.exe / board1.ZHT / main.js < prev    next >
Encoding:
Text File  |  2004-09-21  |  5.8 KB  |  175 lines

  1. function GeneratePreview(cSourcePath, cDestPath, cID)
  2. {
  3.   //MessageBox("cSourcePath = " + cSourcePath + "\ncDestPath = " + cDestPath + "\ncID = " + cID, "Preview", MB_OK);
  4. }
  5.  
  6. function GetPageFN(iPage) {
  7.   if (iPage == 1) {
  8.     return "index.htm";
  9.   }
  10.  
  11.   return "page" + IntToStr(iPage, 5) + ".htm";
  12. }
  13.  
  14. var iThnWidth = 160;
  15. var iThnHeight = 120;
  16. var rcThn;
  17.  
  18. function ProcessImage(pImg, pDestImg) {
  19.   pImg.Resize(rcThn.Width()-4, rcThn.Height()-4, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
  20.   var rcResized = pImg.GetRect();
  21.  
  22.   pImg.Shadow(iShadowColor, iShadowAlpha*2.55, iShadowXOffset, iShadowYOffset, iShadowBlur, 0);
  23.  
  24.   //pImg.Resize(rcThn.Width(), rcThn.Height(), GFX_KEEP_ASPECT | GFX_INTERPOLATE);
  25.   var rcResized = pImg.GetRect();
  26.  
  27.   var fAngle = Math.random()*fMaxAngle*2-fMaxAngle;
  28.   pImg.Rotate(fAngle, 0, GFX_INTERPOLATE);
  29.  
  30.   var rcImg = pImg.GetRect();
  31.  
  32.   var iOffsetX = (iThnWidth - rcImg.Width()) / 2;
  33.   var iOffsetY = (iThnHeight - rcImg.Height()) / 2;
  34.  
  35.   pImg.Draw(pDestImg, rcImg, iOffsetX, iOffsetY, 255, GFX_KEEP_ALPHA);
  36.  
  37.   return GetRotatedImageMap(rcResized, fAngle, iOffsetX, iOffsetY);
  38. }
  39.  
  40. function GenerateAlbum(cSourcePath, cDestPath)
  41. {
  42.   rcThn = CalcRectBeforeRotate(fMaxAngle, iThnWidth, iThnHeight);
  43.  
  44.   var iFilesCount = lSelectedFiles.GetCount();
  45.  
  46.   var iPagesCount = Math.ceil(iFilesCount / 9);
  47.  
  48.   CopyFile(cSourcePath + "0101.jpg", cDestPath + "0101.jpg", FIL_OM_OVERWRITE);
  49.  
  50.   CopyFile(cSourcePath + "0201.jpg", cDestPath + "0201.jpg", FIL_OM_OVERWRITE);
  51.   CopyFile(cSourcePath + "0203.jpg", cDestPath + "0203.jpg", FIL_OM_OVERWRITE);
  52.   CopyFile(cSourcePath + "0205.jpg", cDestPath + "0205.jpg", FIL_OM_OVERWRITE);
  53.   CopyFile(cSourcePath + "0207.jpg", cDestPath + "0207.jpg", FIL_OM_OVERWRITE);
  54.  
  55.   CopyFile(cSourcePath + "0301.jpg", cDestPath + "0301.jpg", FIL_OM_OVERWRITE);
  56.  
  57.   CopyFile(cSourcePath + "0401.jpg", cDestPath + "0401.jpg", FIL_OM_OVERWRITE);
  58.   CopyFile(cSourcePath + "0403.jpg", cDestPath + "0403.jpg", FIL_OM_OVERWRITE);
  59.   CopyFile(cSourcePath + "0405.jpg", cDestPath + "0405.jpg", FIL_OM_OVERWRITE);
  60.   CopyFile(cSourcePath + "0407.jpg", cDestPath + "0407.jpg", FIL_OM_OVERWRITE);
  61.  
  62.   CopyFile(cSourcePath + "0501.jpg", cDestPath + "0501.jpg", FIL_OM_OVERWRITE);
  63.  
  64.   CopyFile(cSourcePath + "0601.jpg", cDestPath + "0601.jpg", FIL_OM_OVERWRITE);
  65.   CopyFile(cSourcePath + "0603.jpg", cDestPath + "0603.jpg", FIL_OM_OVERWRITE);
  66.   CopyFile(cSourcePath + "0605.jpg", cDestPath + "0605.jpg", FIL_OM_OVERWRITE);
  67.   CopyFile(cSourcePath + "0607.jpg", cDestPath + "0607.jpg", FIL_OM_OVERWRITE);
  68.  
  69.   CopyFile(cSourcePath + "0701.jpg", cDestPath + "0701.jpg", FIL_OM_OVERWRITE);
  70.  
  71.   var tPage = new CTemplate();
  72.   tPage.Load(cSourcePath + "page.tpl", 0);
  73.  
  74.   tPage.SetReplace("${TITLE}", cTitle);
  75.   tPage.SetReplace("${HEAD_FONT_SIZE}", iHeaderFontSize);
  76.   tPage.SetReplace("${HEAD_FONT_COLOR}", HEXColor(iHeaderFontColor));
  77.   tPage.SetReplace("${FOOT_FONT_SIZE}", iFooterFontSize);
  78.   tPage.SetReplace("${FOOT_FONT_COLOR}", HEXColor(iFooterFontColor));
  79.   tPage.SetReplace("${HEADER}", ReplaceExifStrings(cHeader, "", ""));
  80.   tPage.SetReplace("${FOOTER}", ReplaceExifStrings(cFooter, "", ""));
  81.  
  82.   var tImg = new CTemplate();
  83.   tImg.Load(cSourcePath + "img.tpl", 0);
  84.  
  85.   var tNoImg = new CTemplate();
  86.   tNoImg.Load(cSourcePath + "noimg.tpl", 0);
  87.  
  88.   var tMap = new CTemplate();
  89.   tMap.Load(cSourcePath + "map.tpl", 0);
  90.  
  91.   var iPage = 1;
  92.   var iImg = 1;
  93.   var cMaps = "";
  94.  
  95.   for (var iFile = 1; ((iFile <= iFilesCount) || (iImg != 1)); iFile++) {
  96.     if (iFile <= iFilesCount) {
  97.  
  98.       cFileName = lSelectedFiles.GetAt(iFile-1);
  99.       if (bUseOriginalFileNames)
  100.       {
  101.         cGetFileName = GetFileName(cFileName);
  102.  
  103.         cThnFileName = "thn_" + cGetFileName + ".jpg";
  104.         cImgFileName = cGetFileName + ".jpg";
  105.       }
  106.       else
  107.       {
  108.         cThnFileName = "thn" + IntToStr(iPage, 3) + "-" + iImg + ".jpg";
  109.         cImgFileName = "img" + IntToStr(iFile, 5) + ".jpg";
  110.       }
  111.  
  112.       var cMapName = "imgMap" + iImg;
  113.  
  114.       var pOrigImg = new CImage();
  115.       pOrigImg.Load(cFileName, 0);
  116.  
  117.       pOrigImg.Resize(iImgWidth, iImgHeight, GFX_KEEP_ASPECT | GFX_INTERPOLATE);
  118.       pOrigImg.SaveAs(cDestPath + cImgFileName, JPGformat, iImgJPEG, 0);
  119.  
  120.       var pImg = new CImage();
  121.       pImg.Load(cSourcePath + "img" + iImg + ".jpg", 0);
  122.       var cMapCoords = ProcessImage(pOrigImg, pImg);
  123.       pImg.SaveAs(cDestPath + cThnFileName, JPGformat, iTNJPEG, 0);
  124.  
  125.       tMap.SetReplace("${MAP_NAME}", cMapName);
  126.       tMap.SetReplace("${MAP_HREF}", cImgFileName);
  127.       tMap.SetReplace("${MAP_COORDS}", cMapCoords);
  128.       cMaps += tMap.Replace();
  129.  
  130.       tImg.SetReplace("${THN_FILENAME}", cThnFileName);
  131.       tImg.SetReplace("${THN_MAPNAME}", cMapName);
  132.  
  133.       tPage.SetReplace("${IMG"+iImg+"}", tImg.Replace()); 
  134.  
  135.       pImg.Close();
  136.       pOrigImg.Close();
  137.  
  138.     } else { // no other files to process, make table complete
  139.       var cThnFileName = "thn" + IntToStr(iPage, 3) + "-" + iImg + ".jpg";
  140.       CopyFile(cSourcePath + "img" + iImg + ".jpg", cDestPath + cThnFileName, FIL_OM_OVERWRITE);
  141.       tNoImg.SetReplace("${THN_FILENAME}", cThnFileName);
  142.  
  143.       tPage.SetReplace("${IMG"+iImg+"}", tNoImg.Replace()); 
  144.     }
  145.  
  146.     iImg++;
  147.  
  148.     if (iImg > 9) {
  149.       if (iPage > 1) {
  150.         tPage.SetReplace("${PREV}", "  <a href=\""+GetPageFN(iPage-1)+"\"><<</a>");
  151.       } else {
  152.         tPage.SetReplace("${PREV}", "  ");
  153.       }
  154.       if (iPage < iPagesCount) {
  155.         tPage.SetReplace("${NEXT}", "<a href=\""+GetPageFN(iPage+1)+"\">>></a>  ");
  156.       } else {
  157.         tPage.SetReplace("${NEXT}", "  ");
  158.       }
  159.       tPage.SetReplace("${MAPS}", cMaps);
  160.       SaveString(cDestPath + GetPageFN(iPage), tPage.Replace(), 0);
  161.  
  162.       cMaps = "";
  163.       iImg = 1;
  164.  
  165.       iPage++;
  166.     }
  167.  
  168.   }
  169.  
  170.   return cDestPath + GetPageFN(1);
  171.   
  172. }
  173.  
  174. INIT_OK;
  175.