当前位置: 首页>>代码示例>>PHP>>正文


PHP File::getHeight方法代码示例

本文整理汇总了PHP中File::getHeight方法的典型用法代码示例。如果您正苦于以下问题:PHP File::getHeight方法的具体用法?PHP File::getHeight怎么用?PHP File::getHeight使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在File的用法示例。


在下文中一共展示了File::getHeight方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getImageArea

 /**
  * @todo Add unit tests
  *
  * @param File $image
  * @return bool
  */
 function getImageArea($image)
 {
     $ser = $image->getMetadata();
     if ($ser) {
         $metadata = unserialize($ser);
         return $image->getWidth() * $image->getHeight() * $metadata['frameCount'];
     } else {
         return $image->getWidth() * $image->getHeight();
     }
 }
开发者ID:Acidburn0zzz,项目名称:mediawiki,代码行数:16,代码来源:GIF.php

示例2: getThumbSuffix

 private function getThumbSuffix(File $file, $expectedWidth, $expectedHeight, $crop)
 {
     $originalHeight = $file->getHeight();
     $originalWidth = $file->getWidth();
     $originalRatio = $originalWidth / $originalHeight;
     $ratio = $expectedWidth / $expectedHeight;
     if ($originalRatio > $ratio) {
         $width = round($originalHeight * $ratio);
         $height = $originalHeight;
     } else {
         $width = $originalWidth;
         $height = round($originalWidth / $ratio);
     }
     $width = $width > $expectedWidth ? $expectedWidth : $width;
     $left = 0;
     $right = $originalWidth;
     $top = round($originalHeight * $crop);
     $bottom = $top + $height;
     return "{$width}px-{$left},{$right},{$top},{$bottom}";
 }
开发者ID:yusufchang,项目名称:app,代码行数:20,代码来源:WikiDataModel.class.php

示例3: fileLine

 /**
  * @param File $file
  * @returns string
  */
 private function fileLine($file)
 {
     global $wgLang, $wgTitle;
     $target = $this->page->getPrefixedText();
     $date = $wgLang->timeanddate($file->getTimestamp(), true);
     $del = '';
     # Hidden files...
     if ($file->isDeleted(File::DELETED_FILE)) {
         $del = ' <tt>' . wfMsgHtml('deletedrev') . '</tt>';
         if (!$file->userCan(File::DELETED_FILE)) {
             $pageLink = $date;
         } else {
             $pageLink = $this->skin->makeKnownLinkObj($wgTitle, $date, "target={$target}&file={$file->sha1}." . $file->getExtension());
         }
         $pageLink = '<span class="history-deleted">' . $pageLink . '</span>';
         # Regular files...
     } else {
         $url = $file->getUrlRel();
         $pageLink = "<a href=\"{$url}\">{$date}</a>";
     }
     $data = wfMsg('widthheight', $wgLang->formatNum($file->getWidth()), $wgLang->formatNum($file->getHeight())) . ' (' . wfMsgExt('nbytes', 'parsemag', $wgLang->formatNum($file->getSize())) . ')';
     $data = htmlspecialchars($data);
     return "<li>{$pageLink} " . $this->fileUserTools($file) . " {$data} " . $this->fileComment($file) . "{$del}</li>";
 }
开发者ID:ruizrube,项目名称:spdef,代码行数:28,代码来源:SpecialRevisiondelete.php

示例4: isImageAreaOkForThumbnaling

 /**
  * Check if the file is smaller than the maximum image area for thumbnailing.
  *
  * Runs the 'BitmapHandlerCheckImageArea' hook.
  *
  * @param File $file
  * @param array $params
  * @return bool
  * @since 1.25
  */
 public function isImageAreaOkForThumbnaling($file, &$params)
 {
     global $wgMaxImageArea;
     # For historical reasons, hook starts with BitmapHandler
     $checkImageAreaHookResult = null;
     Hooks::run('BitmapHandlerCheckImageArea', array($file, &$params, &$checkImageAreaHookResult));
     if (!is_null($checkImageAreaHookResult)) {
         // was set by hook, so return that value
         return (bool) $checkImageAreaHookResult;
     }
     $srcWidth = $file->getWidth($params['page']);
     $srcHeight = $file->getHeight($params['page']);
     if ($srcWidth * $srcHeight > $wgMaxImageArea && !($file->getMimeType() == 'image/jpeg' && $this->getScalerType(false, false) == 'im')) {
         # Only ImageMagick can efficiently downsize jpg images without loading
         # the entire file in memory
         return false;
     }
     return true;
 }
开发者ID:xfstudio,项目名称:mediawiki,代码行数:29,代码来源:TransformationalImageHandler.php

示例5: getDimensionsString

 /**
  * @param File $file
  * @return string
  */
 function getDimensionsString($file)
 {
     $pages = $file->pageCount();
     if ($pages > 1) {
         return wfMessage('widthheightpage')->numParams($file->getWidth(), $file->getHeight(), $pages)->text();
     } else {
         return wfMessage('widthheight')->numParams($file->getWidth(), $file->getHeight())->text();
     }
 }
开发者ID:eliagbayani,项目名称:LiteratureEditor,代码行数:13,代码来源:ImageHandler.php

示例6: imgIsVertical

 /**
  * @param File $img 
  */
 private static function imgIsVertical($img)
 {
     $height = $img->getHeight();
     $width = $img->getWidth();
     if (!$height || !$width) {
         return false;
     }
     return $height > $width;
 }
开发者ID:eFFemeer,项目名称:seizamcore,代码行数:12,代码来源:CarZam.Carrousel.php

示例7: getSquaredThumbnailUrl

 /**
  * Return a URL that displays $file scaled and/or cropped to fill the entire square thumbnail dimensions with
  * no whitespace if possible.  Images smaller than the thumbnail size will be enlarged if their image area (L x W)
  * is above a certain threshold.  This threshold is expressed as a percentage of the requested thumb area and
  * given by:
  *
  *   self::thumbEnlargeThreshold
  *
  * Small images that do not meet this threshold will be centered within the thumb container and padded with a
  * transparent background.
  *
  * @param File $file
  * @param int $dimension
  * @param bool $useWebP
  * @return string The URL of the image
  */
 public static function getSquaredThumbnailUrl(File $file, $dimension, $useWebP = false)
 {
     // Create a new url generator
     $gen = $file->getUrlGenerator();
     // Determine if this image falls into a small image category.  We compare the area of the image with the
     // area of the requested thumb and use self::thumbEnlargeThreshold as the threshold for enlarging
     $height = $file->getHeight();
     $width = $file->getWidth();
     $isSmallImage = $height < $dimension || $width < $dimension;
     $imageBelowThreshold = $height * $width <= self::thumbEnlargeThreshold * $dimension * $dimension;
     // If height or width is less than a side of our square target thumbnail, we need to decide whether we're
     // going to enlarge it or not
     if ($isSmallImage && $imageBelowThreshold) {
         // Leave the (small) full sized image as is, but put within the requested container with transparent fill
         $gen->fixedAspectRatioDown()->backgroundFill('transparent');
     } else {
         if ($height > $width) {
             // Portrait mode, crop at the top
             $gen->topCrop();
         } else {
             // Landscape mode, crop in the middle
             $gen->zoomCrop();
         }
     }
     if ($useWebP) {
         $gen->webp();
     }
     $url = $gen->width($dimension)->height($dimension)->url();
     return $url;
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:46,代码来源:WikiaFileHelper.class.php

示例8: getHTML

 public function getHTML()
 {
     $data = $this->list->msg('widthheight')->numParams($this->file->getWidth(), $this->file->getHeight())->text() . ' (' . $this->list->msg('nbytes')->numParams($this->file->getSize())->text() . ')';
     return '<li>' . $this->getLink() . ' ' . $this->getUserTools() . ' ' . $data . ' ' . $this->getComment() . '</li>';
 }
开发者ID:Grprashanthkumar,项目名称:ColfusionWeb,代码行数:5,代码来源:RevisionDelete.php

示例9: getHTML

 public function getHTML()
 {
     $data = wfMsg('widthheight', $this->list->getLang()->formatNum($this->file->getWidth()), $this->list->getLang()->formatNum($this->file->getHeight())) . ' (' . wfMsgExt('nbytes', 'parsemag', $this->list->getLang()->formatNum($this->file->getSize())) . ')';
     return '<li>' . $this->getLink() . ' ' . $this->getUserTools() . ' ' . $data . ' ' . $this->getComment() . '</li>';
 }
开发者ID:eFFemeer,项目名称:seizamcore,代码行数:5,代码来源:RevisionDelete.php

示例10: openShowImage

    protected function openShowImage()
    {
        global $wgOut, $wgUser, $wgImageLimits, $wgRequest, $wgLang, $wgEnableUploads, $wgSend404Code;
        $this->loadFile();
        $sizeSel = intval($wgUser->getOption('imagesize'));
        if (!isset($wgImageLimits[$sizeSel])) {
            $sizeSel = User::getDefaultOption('imagesize');
            // The user offset might still be incorrect, specially if
            // $wgImageLimits got changed (see bug #8858).
            if (!isset($wgImageLimits[$sizeSel])) {
                // Default to the first offset in $wgImageLimits
                $sizeSel = 0;
            }
        }
        $max = $wgImageLimits[$sizeSel];
        $maxWidth = $max[0];
        $maxHeight = $max[1];
        $dirmark = $wgLang->getDirMark();
        if ($this->displayImg->exists()) {
            # image
            $page = $wgRequest->getIntOrNull('page');
            if (is_null($page)) {
                $params = array();
                $page = 1;
            } else {
                $params = array('page' => $page);
            }
            $width_orig = $this->displayImg->getWidth($page);
            $width = $width_orig;
            $height_orig = $this->displayImg->getHeight($page);
            $height = $height_orig;
            $longDesc = wfMsg('parentheses', $this->displayImg->getLongDesc());
            wfRunHooks('ImageOpenShowImageInlineBefore', array(&$this, &$wgOut));
            if ($this->displayImg->allowInlineDisplay()) {
                # image
                # "Download high res version" link below the image
                # $msgsize = wfMsgHtml( 'file-info-size', $width_orig, $height_orig, Linker::formatSize( $this->displayImg->getSize() ), $mime );
                # We'll show a thumbnail of this image
                if ($width > $maxWidth || $height > $maxHeight) {
                    # Calculate the thumbnail size.
                    # First case, the limiting factor is the width, not the height.
                    if ($width / $height >= $maxWidth / $maxHeight) {
                        $height = round($height * $maxWidth / $width);
                        $width = $maxWidth;
                        # Note that $height <= $maxHeight now.
                    } else {
                        $newwidth = floor($width * $maxHeight / $height);
                        $height = round($height * $newwidth / $width);
                        $width = $newwidth;
                        # Note that $height <= $maxHeight now, but might not be identical
                        # because of rounding.
                    }
                    $msgbig = wfMsgHtml('show-big-image');
                    $otherSizes = array();
                    foreach ($wgImageLimits as $size) {
                        if ($size[0] < $width_orig && $size[1] < $height_orig && $size[0] != $width && $size[1] != $height) {
                            $otherSizes[] = $this->makeSizeLink($params, $size[0], $size[1]);
                        }
                    }
                    $msgsmall = wfMessage('show-big-image-preview')->rawParams($this->makeSizeLink($params, $width, $height))->parse();
                    if (count($otherSizes) && $this->displayImg->getRepo()->canTransformVia404()) {
                        $msgsmall .= ' ' . Html::rawElement('span', array('class' => 'mw-filepage-other-resolutions'), wfMessage('show-big-image-other')->rawParams($wgLang->pipeList($otherSizes))->params(count($otherSizes))->parse());
                    }
                } elseif ($width == 0 && $height == 0) {
                    # Some sort of audio file that doesn't have dimensions
                    # Don't output a no hi res message for such a file
                    $msgsmall = '';
                } else {
                    # Image is small enough to show full size on image page
                    $msgsmall = wfMessage('file-nohires')->parse();
                }
                $params['width'] = $width;
                $params['height'] = $height;
                $thumbnail = $this->displayImg->transform($params);
                $showLink = true;
                $anchorclose = Html::rawElement('div', array('class' => 'mw-filepage-resolutioninfo'), $msgsmall);
                $isMulti = $this->displayImg->isMultipage() && $this->displayImg->pageCount() > 1;
                if ($isMulti) {
                    $wgOut->addHTML('<table class="multipageimage"><tr><td>');
                }
                if ($thumbnail) {
                    $options = array('alt' => $this->displayImg->getTitle()->getPrefixedText(), 'file-link' => true);
                    $wgOut->addHTML('<div class="fullImageLink" id="file">' . $thumbnail->toHtml($options) . $anchorclose . "</div>\n");
                }
                if ($isMulti) {
                    $count = $this->displayImg->pageCount();
                    if ($page > 1) {
                        $label = $wgOut->parse(wfMsg('imgmultipageprev'), false);
                        $link = Linker::link($this->getTitle(), $label, array(), array('page' => $page - 1), array('known', 'noclasses'));
                        $thumb1 = Linker::makeThumbLinkObj($this->getTitle(), $this->displayImg, $link, $label, 'none', array('page' => $page - 1));
                    } else {
                        $thumb1 = '';
                    }
                    if ($page < $count) {
                        $label = wfMsg('imgmultipagenext');
                        $link = Linker::link($this->getTitle(), $label, array(), array('page' => $page + 1), array('known', 'noclasses'));
                        $thumb2 = Linker::makeThumbLinkObj($this->getTitle(), $this->displayImg, $link, $label, 'none', array('page' => $page + 1));
                    } else {
                        $thumb2 = '';
                    }
//.........这里部分代码省略.........
开发者ID:laiello,项目名称:media-wiki-law,代码行数:101,代码来源:ImagePage.php

示例11: fitClosest

 /**
  * Return height and width for image $file such that the image is shrunk (keeping aspect ratio) to just the
  * height or width of $dim, whichever is closest.  Typically the image will then be cropped to the $dim bounds.
  * The original file height and width will be returned for images both shorter and narrower than $dim.
  *
  * @param File $file
  * @param array $dim
  * @return array
  */
 public function fitClosest(File $file, array $dim)
 {
     $aspect = $file->getWidth() / $file->getHeight();
     $adjWidth = $file->getWidth();
     $adjHeight = $file->getHeight();
     // Adjust the image to the closest dimension.
     if ($file->getWidth() > $dim['w'] || $file->getHeight() > $dim['h']) {
         $widthDelta = $file->getWidth() - $dim['w'];
         $heightDelta = $file->getHeight() - $dim['h'];
         if ($widthDelta > 0 && $widthDelta < $heightDelta) {
             // Oversized image, constrain on width
             $adjWidth = $dim['w'];
             $adjHeight = intval($adjWidth / $aspect);
         } else {
             // Oversized image, constrain on height
             $adjHeight = $dim['h'];
             $adjWidth = intval($adjHeight * $aspect);
         }
     }
     return [$adjWidth, $adjHeight];
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:30,代码来源:WikiaPhotoGallery.class.php

示例12: getImageArea

 /**
  * Function that returns the number of pixels to be thumbnailed.
  * Intended for animated GIFs to multiply by the number of frames.
  *
  * @param File $image
  * @return int
  */
 function getImageArea($image)
 {
     return $image->getWidth() * $image->getHeight();
 }
开发者ID:Grprashanthkumar,项目名称:ColfusionWeb,代码行数:11,代码来源:Bitmap.php

示例13: array

 /**
  * Make an image link
  * @param Title $title Title object
  * @param File $file File object, or false if it doesn't exist
  *
  * @param array $frameParams Associative array of parameters external to the media handler.
  *     Boolean parameters are indicated by presence or absence, the value is arbitrary and 
  *     will often be false.
  *          thumbnail       If present, downscale and frame
  *          manualthumb     Image name to use as a thumbnail, instead of automatic scaling
  *          framed          Shows image in original size in a frame
  *          frameless       Downscale but don't frame
  *          upright         If present, tweak default sizes for portrait orientation
  *          upright_factor  Fudge factor for "upright" tweak (default 0.75)
  *          border          If present, show a border around the image
  *          align           Horizontal alignment (left, right, center, none)
  *          valign          Vertical alignment (baseline, sub, super, top, text-top, middle, 
  *                          bottom, text-bottom)
  *          alt             Alternate text for image (i.e. alt attribute). Plain text.
  *          caption         HTML for image caption.
  *
  * @param array $handlerParams Associative array of media handler parameters, to be passed 
  *       to transform(). Typical keys are "width" and "page". 
  * @param string $time, timestamp of the file, set as false for current
  */
 function makeImageLink2(Title $title, $file, $frameParams = array(), $handlerParams = array(), $time = false)
 {
     global $wgContLang, $wgUser, $wgThumbLimits, $wgThumbUpright;
     if ($file && !$file->allowInlineDisplay()) {
         wfDebug(__METHOD__ . ': ' . $title->getPrefixedDBkey() . " does not allow inline display\n");
         return $this->makeKnownLinkObj($title);
     }
     if (!$file) {
         return;
     }
     // Shortcuts
     $fp =& $frameParams;
     $hp =& $handlerParams;
     $section = WikihowArticleEditor::getImageSection($file->getName());
     // Clean up parameters
     $page = isset($hp['page']) ? $hp['page'] : false;
     if (!isset($fp['align'])) {
         $fp['align'] = '';
     }
     if (!isset($fp['alt'])) {
         $fp['alt'] = '';
     }
     $imageClass = "";
     $prefix = $postfix = '';
     $isPortrait = false;
     $isLarge = false;
     $sourceWidth = $file->getWidth();
     $sourceHeight = $file->getHeight();
     if ($sourceHeight > $sourceWidth) {
         if ($sourceWidth > 200) {
             $isPortrait = true;
             $isLarge = true;
         }
     } else {
         //landscape
         if ($sourceWidth > 400) {
             $isLarge = true;
         }
     }
     if ($section != "summary" && $section != "steps") {
         $isLarge = false;
     }
     if ($section == "summary") {
         //for intro they must specify 625 and center to have it shown
         if ($hp['width'] >= 625) {
             $imageClass .= " introimage ";
         }
     }
     if ($file && !isset($hp['width'])) {
         $hp['width'] = $file->getWidth($page);
         if (isset($fp['thumbnail']) || isset($fp['framed']) || isset($fp['frameless']) || !$hp['width']) {
             $wopt = $wgUser->getOption('thumbsize');
             if (!isset($wgThumbLimits[$wopt])) {
                 $wopt = User::getDefaultOption('thumbsize');
             }
             // Reduce width for upright images when parameter 'upright' is used
             if (isset($fp['upright']) && $fp['upright'] == 0) {
                 $fp['upright'] = $wgThumbUpright;
             }
             // Use width which is smaller: real image width or user preference width
             // For caching health: If width scaled down due to upright parameter, round to full __0 pixel to avoid the creation of a lot of odd thumbs
             $prefWidth = isset($fp['upright']) ? round($wgThumbLimits[$wopt] * $fp['upright'], -1) : $wgThumbLimits[$wopt];
             if ($hp['width'] <= 0 || $prefWidth < $hp['width']) {
                 $hp['width'] = $prefWidth;
             }
         }
     }
     //not using thumbs on large images anymore
     if (!$isLarge && isset($fp['thumbnail']) || isset($fp['manualthumb']) || isset($fp['framed'])) {
         # Create a thumbnail. Alignment depends on language
         # writing direction, # right aligned for left-to-right-
         # languages ("Western languages"), left-aligned
         # for right-to-left-languages ("Semitic languages")
         #
         # If  thumbnail width has not been provided, it is set
//.........这里部分代码省略.........
开发者ID:ErdemA,项目名称:wikihow,代码行数:101,代码来源:Linker.php

示例14: onThumbnailVideoHTML

 public static function onThumbnailVideoHTML($options, $linkAttribs, $imageAttribs, File $file, &$html)
 {
     global $wgRTEParserEnabled;
     if (!empty($wgRTEParserEnabled)) {
         return true;
     }
     if (is_null(self::$isWikiaMobile)) {
         self::init();
     }
     if (self::$isWikiaMobile) {
         wfProfileIn(__METHOD__);
         /**
          * WikiaMobile: lazy loading images in a SEO-friendly manner
          * @author Federico "Lox" Lucignano <federico@wikia-inc.com
          * @author Artur Klajnerok <arturk@wikia-inc.com>
          */
         $origImg = Xml::element('img', $imageAttribs, '', true);
         if (empty($imageAttribs['alt'])) {
             unset($imageAttribs['alt']);
         }
         //Not all 'files' have getProviderName defined
         if (is_callable([$file, 'getProviderName'])) {
             $provider = $file->getProviderName();
         } else {
             $provider = '';
         }
         $imageParams = array('type' => 'video', 'provider' => $provider, 'full' => $imageAttribs['src']);
         if (!empty($imageAttribs['data-video-key'])) {
             $imageParams['name'] = htmlspecialchars($imageAttribs['data-video-key']);
         }
         if (!empty($options['caption'])) {
             $imageParams['capt'] = 1;
         }
         // TODO: this resizes every video thumbnail with a width over 64px regardless of where it appears.
         // We may want to add the ability to allow custom image widths (like on the file page history table for example)
         $size = WikiaMobileMediaService::calculateMediaSize($file->getWidth(), $file->getHeight());
         $thumb = $file->transform($size);
         $imageAttribs['src'] = wfReplaceImageServer($thumb->getUrl(), $file->getTimestamp());
         $imageAttribs['width'] = $size['width'];
         $imageAttribs['height'] = $size['height'];
         $data = ['attributes' => $imageAttribs, 'parameters' => [$imageParams], 'anchorAttributes' => $linkAttribs, 'noscript' => $origImg, 'isSmall' => WikiaMobileMediaService::isSmallImage($imageAttribs['width'], $imageAttribs['height'])];
         $title = $file->getTitle()->getDBKey();
         $titleText = $file->getTitle()->getText();
         $views = MediaQueryService::getTotalVideoViewsByTitle($title);
         $data['content'] = Xml::element('span', ['class' => 'videoInfo'], "{$titleText} (" . $file->getHandler()->getFormattedDuration() . ", " . wfMessage('wikiamobile-video-views-counter', $views)->inContentLanguage()->text() . ')');
         $html = F::app()->sendRequest('WikiaMobileMediaService', 'renderImageTag', $data, true)->toString();
         wfProfileOut(__METHOD__);
     }
     return true;
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:50,代码来源:ImageTweaksHooks.class.php

示例15: openShowImage

    protected function openShowImage()
    {
        global $wgImageLimits, $wgEnableUploads, $wgSend404Code;
        $this->loadFile();
        $out = $this->getContext()->getOutput();
        $user = $this->getContext()->getUser();
        $lang = $this->getContext()->getLanguage();
        $dirmark = $lang->getDirMarkEntity();
        $request = $this->getContext()->getRequest();
        $max = $this->getImageLimitsFromOption($user, 'imagesize');
        $maxWidth = $max[0];
        $maxHeight = $max[1];
        if ($this->displayImg->exists()) {
            # image
            $page = $request->getIntOrNull('page');
            if (is_null($page)) {
                $params = array();
                $page = 1;
            } else {
                $params = array('page' => $page);
            }
            $renderLang = $request->getVal('lang');
            if (!is_null($renderLang)) {
                $handler = $this->displayImg->getHandler();
                if ($handler && $handler->validateParam('lang', $renderLang)) {
                    $params['lang'] = $renderLang;
                } else {
                    $renderLang = null;
                }
            }
            $width_orig = $this->displayImg->getWidth($page);
            $width = $width_orig;
            $height_orig = $this->displayImg->getHeight($page);
            $height = $height_orig;
            $filename = wfEscapeWikiText($this->displayImg->getName());
            $linktext = $filename;
            wfRunHooks('ImageOpenShowImageInlineBefore', array(&$this, &$out));
            if ($this->displayImg->allowInlineDisplay()) {
                # image
                # "Download high res version" link below the image
                # $msgsize = wfMessage( 'file-info-size', $width_orig, $height_orig, Linker::formatSize( $this->displayImg->getSize() ), $mime )->escaped();
                # We'll show a thumbnail of this image
                if ($width > $maxWidth || $height > $maxHeight) {
                    # Calculate the thumbnail size.
                    # First case, the limiting factor is the width, not the height.
                    if ($width / $height >= $maxWidth / $maxHeight) {
                        // FIXME: Possible division by 0. bug 36911
                        $height = round($height * $maxWidth / $width);
                        // FIXME: Possible division by 0. bug 36911
                        $width = $maxWidth;
                        # Note that $height <= $maxHeight now.
                    } else {
                        $newwidth = floor($width * $maxHeight / $height);
                        // FIXME: Possible division by 0. bug 36911
                        $height = round($height * $newwidth / $width);
                        // FIXME: Possible division by 0. bug 36911
                        $width = $newwidth;
                        # Note that $height <= $maxHeight now, but might not be identical
                        # because of rounding.
                    }
                    $linktext = wfMessage('show-big-image')->escaped();
                    if ($this->displayImg->getRepo()->canTransformVia404()) {
                        $thumbSizes = $wgImageLimits;
                        // Also include the full sized resolution in the list, so
                        // that users know they can get it. This will link to the
                        // original file asset if mustRender() === false. In the case
                        // that we mustRender, some users have indicated that they would
                        // find it useful to have the full size image in the rendered
                        // image format.
                        $thumbSizes[] = array($width_orig, $height_orig);
                    } else {
                        # Creating thumb links triggers thumbnail generation.
                        # Just generate the thumb for the current users prefs.
                        $thumbSizes = array($this->getImageLimitsFromOption($user, 'thumbsize'));
                        if (!$this->displayImg->mustRender()) {
                            // We can safely include a link to the "full-size" preview,
                            // without actually rendering.
                            $thumbSizes[] = array($width_orig, $height_orig);
                        }
                    }
                    # Generate thumbnails or thumbnail links as needed...
                    $otherSizes = array();
                    foreach ($thumbSizes as $size) {
                        // We include a thumbnail size in the list, if it is
                        // less than or equal to the original size of the image
                        // asset ($width_orig/$height_orig). We also exclude
                        // the current thumbnail's size ($width/$height)
                        // since that is added to the message separately, so
                        // it can be denoted as the current size being shown.
                        if ($size[0] <= $width_orig && $size[1] <= $height_orig && $size[0] != $width && $size[1] != $height) {
                            $sizeLink = $this->makeSizeLink($params, $size[0], $size[1]);
                            if ($sizeLink) {
                                $otherSizes[] = $sizeLink;
                            }
                        }
                    }
                    $otherSizes = array_unique($otherSizes);
                    $msgsmall = '';
                    $sizeLinkBigImagePreview = $this->makeSizeLink($params, $width, $height);
                    if ($sizeLinkBigImagePreview) {
//.........这里部分代码省略.........
开发者ID:Tarendai,项目名称:spring-website,代码行数:101,代码来源:ImagePage.php


注:本文中的File::getHeight方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。