image_resize.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <?php
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup UnaCoreSamples Samples
  7. * @{
  8. */
  9. /**
  10. * @page samples
  11. * @section image_resize Image Resize
  12. */
  13. $aPathInfo = pathinfo(__FILE__);
  14. require_once ($aPathInfo['dirname'] . '/../inc/header.inc.php');
  15. require_once(BX_DIRECTORY_PATH_INC . "design.inc.php");
  16. $oTemplate = BxDolTemplate::getInstance();
  17. $oTemplate->setPageNameIndex (BX_PAGE_DEFAULT);
  18. $oTemplate->setPageHeader ('Image Resize');
  19. $oTemplate->setPageContent ('page_main_code', PageCompMainCode());
  20. $oTemplate->getPageCode();
  21. /**
  22. * page code function
  23. */
  24. function PageCompMainCode()
  25. {
  26. $sFile = '';
  27. $sImgTmpDir = BX_DIRECTORY_PATH_TMP . 'img_resize_';
  28. $sImgSrcName = 'landscape.jpg';
  29. $sImgSrcDir = BX_DIRECTORY_PATH_ROOT . 'samples/img/' . $sImgSrcName;
  30. $o = BxDolImageResize::getInstance();
  31. $o->removeCropOptions ();
  32. switch (bx_get('action')) {
  33. case 'img_src':
  34. $sFile = $sImgSrcDir;
  35. break;
  36. case 'img_resize':
  37. $sFile = $sImgTmpDir . 'resize_' . $sImgSrcName;
  38. $o->setSize (200, 150);
  39. $res = $o->resize($sImgSrcDir, $sFile);
  40. break;
  41. case 'img_resize_autocrop':
  42. $sFile = $sImgTmpDir . 'resize_autocrop_' . $sImgSrcName;
  43. $o->setSize (200, 150);
  44. $o->setAutoCrop (true);
  45. $res = $o->resize($sImgSrcDir, $sFile);
  46. break;
  47. case 'img_resize_square':
  48. $sFile = $sImgTmpDir . 'resize_square_' . $sImgSrcName;
  49. $o->setSize (150, 150);
  50. $o->setSquareResize (true);
  51. $res = $o->resize($sImgSrcDir, $sFile);
  52. break;
  53. case 'img_resize_w':
  54. $sFile = $sImgTmpDir . 'resize_w_' . $sImgSrcName;
  55. $o->setSize (150, null);
  56. $res = $o->resize($sImgSrcDir, $sFile);
  57. break;
  58. case 'img_resize_h':
  59. $sFile = $sImgTmpDir . 'resize_h_' . $sImgSrcName;
  60. $o->setSize (null, 150);
  61. $res = $o->resize($sImgSrcDir, $sFile);
  62. break;
  63. case 'img_grayscale':
  64. $sFile = $sImgTmpDir . 'grayscale_' . $sImgSrcName;
  65. $res = $o->grayscale($sImgSrcDir, $sFile);
  66. break;
  67. case 'img_watermark':
  68. $sFile = $sImgTmpDir . 'watermark_' . $sImgSrcName;
  69. $res = $o->applyWatermark($sImgSrcDir, $sFile, BX_DIRECTORY_PATH_ROOT . 'samples/img/ussr.gif', 50, 'bottom-right', 0, 0, 0.2);
  70. break;
  71. }
  72. if ($sFile) {
  73. if (isset($res) && IMAGE_ERROR_SUCCESS !== $res) {
  74. echo $o->getError();
  75. exit;
  76. }
  77. else {
  78. header("Content-Type: image/jpeg");
  79. readfile($sFile);
  80. }
  81. exit;
  82. }
  83. ob_start();
  84. ?>
  85. Source:<br /> <img border=1 style="max-width:300px;" src ="<?php echo BX_DOL_URL_ROOT; ?>samples/image_resize.php?action=img_src" />
  86. <hr class="bx-def-hr" />
  87. Resized:<br /> <img border=1 src ="<?php echo BX_DOL_URL_ROOT; ?>samples/image_resize.php?action=img_resize" />
  88. <hr class="bx-def-hr" />
  89. Autocrop resized:<br /> <img border=1 src ="<?php echo BX_DOL_URL_ROOT; ?>samples/image_resize.php?action=img_resize_autocrop" />
  90. <hr class="bx-def-hr" />
  91. Square resized:<br /> <img border=1 src ="<?php echo BX_DOL_URL_ROOT; ?>samples/image_resize.php?action=img_resize_square" />
  92. <hr class="bx-def-hr" />
  93. Resized by width:<br /> <img border=1 src ="<?php echo BX_DOL_URL_ROOT; ?>samples/image_resize.php?action=img_resize_w" />
  94. <hr class="bx-def-hr" />
  95. Resized by height:<br /> <img border=1 src ="<?php echo BX_DOL_URL_ROOT; ?>samples/image_resize.php?action=img_resize_h" />
  96. <hr class="bx-def-hr" />
  97. Grayscaled:<br /> <img border=1 style="max-width:300px;" src ="<?php echo BX_DOL_URL_ROOT; ?>samples/image_resize.php?action=img_grayscale" />
  98. <hr class="bx-def-hr" />
  99. Watermark:<br /> <img border=1 style="max-width:300px;" src ="<?php echo BX_DOL_URL_ROOT; ?>samples/image_resize.php?action=img_watermark" />
  100. <hr class="bx-def-hr" />
  101. Average color:<br />
  102. <?php
  103. $a = $o->getAverageColor($sImgSrcDir);
  104. echo '<pre>' . print_r($a, 1) . '</pre>';
  105. ?>
  106. <hr class="bx-def-hr" />
  107. Is image:<br />
  108. <?php
  109. echo "[" . $o->isAllowedImage ($sImgSrcDir) . "]";
  110. return DesignBoxContent("Image Resize", ob_get_clean(), BX_DB_PADDING_DEF);
  111. }
  112. /** @} */