Improve the mosaic algorithm further #43
@ -52,6 +52,7 @@ class PhotoMosaic
|
||||
// Dual layouts
|
||||
'dualLandscapes' => [Image::TYPE_LANDSCAPE, Image::TYPE_LANDSCAPE],
|
||||
'dualPortraits' => [Image::TYPE_PORTRAIT, Image::TYPE_PORTRAIT],
|
||||
'dualMixed' => [Image::TYPE_LANDSCAPE, Image::TYPE_PORTRAIT],
|
||||
|
||||
// Fallback layouts
|
||||
'singleLandscape' => [Image::TYPE_LANDSCAPE],
|
||||
|
@ -270,6 +270,29 @@ class PhotosIndex extends Template
|
||||
</div>';
|
||||
}
|
||||
|
||||
protected function dualMixed(array $photos, $altLayout)
|
||||
{
|
||||
$image = array_shift($photos);
|
||||
|
||||
echo '
|
||||
<div class="row g-5 mb-5 tile-feat-landscape',
|
||||
$altLayout ? ' flex-row-reverse' : '', '">
|
||||
<div class="col-md-8">';
|
||||
|
||||
$this->photo($image, 'landscape', static::LANDSCAPE_WIDTH, static::LANDSCAPE_HEIGHT, 'top');
|
||||
|
||||
echo '
|
||||
</div>
|
||||
<div class="col-md-4">';
|
||||
|
||||
$this->photo($image, 'portrait', static::PORTRAIT_WIDTH, static::PORTRAIT_HEIGHT, true);
|
||||
|
||||
echo '
|
||||
</div>
|
||||
</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
protected function dualPortraits(array $photos, $altLayout)
|
||||
{
|
||||
// Recycle the row layout so portraits don't appear too large
|
||||
|
Loading…
Reference in New Issue
Block a user