$url2 = '?' . urldecode(http_build_query($query)); echo <<<EOD <!doctype html> <html lang=en> <meta charset=utf-8> <title>CImage verbose output</title> <style>body{background-color: #ddd}</style> <a href={$url1}><code>{$url1}</code></a><br> <img src='{$url1}' /> <pre id="json"></pre> <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script> <script type="text/javascript"> window.getDetails = function (url, id) { \$.getJSON(url, function(data) { element = document.getElementById(id); element.innerHTML = "filename: " + data.filename + "\\nmime type: " + data.mimeType + "\\ncolors: " + data.colors + "\\nsize: " + data.size + "\\nwidth: " + data.width + "\\nheigh: " + data.height + "\\naspect-ratio: " + data.aspectRatio; }); } </script> <script type="text/javascript">window.getDetails("{$url2}&json", "json")</script> EOD; } /** * Get the cachepath from config. */ $cachePath = getConfig('cache_path', __DIR__ . '/../cache/'); /** * Load, process and output the image */ $img->log("Incoming arguments: " . print_r(verbose(), 1))->setSaveFolder($cachePath)->useCache($useCache)->setSource($srcImage, $imagePath)->setOptions(array('newWidth' => $newWidth, 'newHeight' => $newHeight, 'aspectRatio' => $aspectRatio, 'keepRatio' => $keepRatio, 'cropToFit' => $cropToFit, 'fillToFit' => $fillToFit, 'crop' => $crop, 'area' => $area, 'upscale' => $upscale, 'scale' => $scale, 'rotateBefore' => $rotateBefore, 'autoRotate' => $autoRotate, 'bgColor' => $bgColor, 'palette' => $palette, 'filters' => $filters, 'sharpen' => $sharpen, 'emboss' => $emboss, 'blur' => $blur, 'convolve' => $convolve, 'rotateAfter' => $rotateAfter, 'outputFormat' => $outputFormat, 'dpr' => $dpr))->loadImageDetails()->initDimensions()->calculateNewWidthAndHeight()->setSaveAsExtension($saveAs)->setJpegQuality($quality)->setPngCompression($compress)->useOriginalIfPossible($useOriginal)->generateFilename($cachePath)->useCacheIfPossible($useCache)->load()->preResize()->resize()->postResize()->setPostProcessingOptions($postProcessing)->save()->linkToCacheFile($aliasTarget)->output();